Class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityAction

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

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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudApigeeV1SecurityAction

Returns a new instance of GoogleCloudApigeeV1SecurityAction.



9417
9418
9419
# File 'lib/google/apis/apigee_v1/classes.rb', line 9417

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

Instance Attribute Details

#allowGoogle::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

#condition_configGoogle::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



9365
9366
9367
# File 'lib/google/apis/apigee_v1/classes.rb', line 9365

def condition_config
  @condition_config
end

#create_timeString

Output only. The create time for this SecurityAction. Corresponds to the JSON property createTime

Returns:

  • (String)


9370
9371
9372
# File 'lib/google/apis/apigee_v1/classes.rb', line 9370

def create_time
  @create_time
end

#denyGoogle::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionDeny

Message that should be set in case of a Deny Action. Corresponds to the JSON property deny



9375
9376
9377
# File 'lib/google/apis/apigee_v1/classes.rb', line 9375

def deny
  @deny
end

#descriptionString

Optional. An optional user provided description of the SecurityAction. Corresponds to the JSON property description

Returns:

  • (String)


9380
9381
9382
# File 'lib/google/apis/apigee_v1/classes.rb', line 9380

def description
  @description
end

#expire_timeString

The expiration for this SecurityAction. Corresponds to the JSON property expireTime

Returns:

  • (String)


9385
9386
9387
# File 'lib/google/apis/apigee_v1/classes.rb', line 9385

def expire_time
  @expire_time
end

#flagGoogle::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionFlag

The message that should be set in the case of a Flag action. Corresponds to the JSON property flag



9390
9391
9392
# File 'lib/google/apis/apigee_v1/classes.rb', line 9390

def flag
  @flag
end

#nameString

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

Returns:

  • (String)


9398
9399
9400
# File 'lib/google/apis/apigee_v1/classes.rb', line 9398

def name
  @name
end

#stateString

Required. Only an ENABLED SecurityAction is enforced. An ENABLED SecurityAction past its expiration time will not be enforced. Corresponds to the JSON property state

Returns:

  • (String)


9404
9405
9406
# File 'lib/google/apis/apigee_v1/classes.rb', line 9404

def state
  @state
end

#ttlString

Input only. The TTL for this SecurityAction. Corresponds to the JSON property ttl

Returns:

  • (String)


9409
9410
9411
# File 'lib/google/apis/apigee_v1/classes.rb', line 9409

def ttl
  @ttl
end

#update_timeString

Output only. The update time for this SecurityAction. This reflects when this SecurityAction changed states. Corresponds to the JSON property updateTime

Returns:

  • (String)


9415
9416
9417
# File 'lib/google/apis/apigee_v1/classes.rb', line 9415

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
# File 'lib/google/apis/apigee_v1/classes.rb', line 9422

def update!(**args)
  @allow = args[:allow] if args.key?(:allow)
  @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