Class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityAction
- Inherits:
-
Object
- Object
- Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityAction
- 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
A SecurityAction is rule that can be enforced at an environment level. The result is one of: - A denied API call - An explicitly allowed API call - A flagged API call (HTTP headers added before the target receives it) At least one condition is required to create a SecurityAction.
Instance Attribute Summary collapse
-
#allow ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionAllow
Message that should be set in case of an Allow Action.
-
#api_proxies ⇒ Array<String>
Optional.
-
#condition_config ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig
The following are a list of conditions.
-
#create_time ⇒ String
Output only.
-
#deny ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionDeny
Message that should be set in case of a Deny Action.
-
#description ⇒ String
Optional.
-
#expire_time ⇒ String
The expiration for this SecurityAction.
-
#flag ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionFlag
The message that should be set in the case of a Flag action.
-
#name ⇒ String
Immutable.
-
#state ⇒ String
Required.
-
#ttl ⇒ String
Input only.
-
#update_time ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleCloudApigeeV1SecurityAction
constructor
A new instance of GoogleCloudApigeeV1SecurityAction.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleCloudApigeeV1SecurityAction
Returns a new instance of GoogleCloudApigeeV1SecurityAction.
9427 9428 9429 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9427 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allow ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionAllow
Message that should be set in case of an Allow Action. This does not have any
fields.
Corresponds to the JSON property allow
9353 9354 9355 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9353 def allow @allow end |
#api_proxies ⇒ Array<String>
Optional. If unset, this would apply to all proxies in the environment. If set,
this action is enforced only if at least one proxy in the repeated list is
deployed at the time of enforcement. If set, several restrictions are enforced
on SecurityActions. There can be at most 100 enabled actions with proxies set
in an env. Several other restrictions apply on conditions and are detailed
later.
Corresponds to the JSON property apiProxies
9363 9364 9365 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9363 def api_proxies @api_proxies end |
#condition_config ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig
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.
Corresponds to the JSON property conditionConfig
9375 9376 9377 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9375 def condition_config @condition_config end |
#create_time ⇒ String
Output only. The create time for this SecurityAction.
Corresponds to the JSON property createTime
9380 9381 9382 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9380 def create_time @create_time end |
#deny ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionDeny
Message that should be set in case of a Deny Action.
Corresponds to the JSON property deny
9385 9386 9387 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9385 def deny @deny end |
#description ⇒ String
Optional. An optional user provided description of the SecurityAction.
Corresponds to the JSON property description
9390 9391 9392 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9390 def description @description end |
#expire_time ⇒ String
The expiration for this SecurityAction.
Corresponds to the JSON property expireTime
9395 9396 9397 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9395 def expire_time @expire_time end |
#flag ⇒ Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionFlag
The message that should be set in the case of a Flag action.
Corresponds to the JSON property flag
9400 9401 9402 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9400 def flag @flag end |
#name ⇒ String
Immutable. This field is ignored during creation as per AIP-133. Please set
the security_action_id
field in the CreateSecurityActionRequest when
creating a new SecurityAction. Format: organizations/org
/environments/env
/
securityActions/security_action
Corresponds to the JSON property name
9408 9409 9410 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9408 def name @name end |
#state ⇒ String
Required. Only an ENABLED SecurityAction is enforced. An ENABLED
SecurityAction past its expiration time will not be enforced.
Corresponds to the JSON property state
9414 9415 9416 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9414 def state @state end |
#ttl ⇒ String
Input only. The TTL for this SecurityAction.
Corresponds to the JSON property ttl
9419 9420 9421 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9419 def ttl @ttl end |
#update_time ⇒ String
Output only. The update time for this SecurityAction. This reflects when this
SecurityAction changed states.
Corresponds to the JSON property updateTime
9425 9426 9427 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9425 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 9432 def update!(**args) @allow = args[:allow] if args.key?(:allow) @api_proxies = args[:api_proxies] if args.key?(:api_proxies) @condition_config = args[:condition_config] if args.key?(:condition_config) @create_time = args[:create_time] if args.key?(:create_time) @deny = args[:deny] if args.key?(:deny) @description = args[:description] if args.key?(:description) @expire_time = args[:expire_time] if args.key?(:expire_time) @flag = args[:flag] if args.key?(:flag) @name = args[:name] if args.key?(:name) @state = args[:state] if args.key?(:state) @ttl = args[:ttl] if args.key?(:ttl) @update_time = args[:update_time] if args.key?(:update_time) end |