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.



10709
10710
10711
# File 'lib/google/apis/apigee_v1/classes.rb', line 10709

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



10635
10636
10637
# File 'lib/google/apis/apigee_v1/classes.rb', line 10635

def allow
  @allow
end

#api_proxiesArray<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

Returns:

  • (Array<String>)


10645
10646
10647
# File 'lib/google/apis/apigee_v1/classes.rb', line 10645

def api_proxies
  @api_proxies
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



10657
10658
10659
# File 'lib/google/apis/apigee_v1/classes.rb', line 10657

def condition_config
  @condition_config
end

#create_timeString

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

Returns:

  • (String)


10662
10663
10664
# File 'lib/google/apis/apigee_v1/classes.rb', line 10662

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



10667
10668
10669
# File 'lib/google/apis/apigee_v1/classes.rb', line 10667

def deny
  @deny
end

#descriptionString

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

Returns:

  • (String)


10672
10673
10674
# File 'lib/google/apis/apigee_v1/classes.rb', line 10672

def description
  @description
end

#expire_timeString

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

Returns:

  • (String)


10677
10678
10679
# File 'lib/google/apis/apigee_v1/classes.rb', line 10677

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



10682
10683
10684
# File 'lib/google/apis/apigee_v1/classes.rb', line 10682

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)


10690
10691
10692
# File 'lib/google/apis/apigee_v1/classes.rb', line 10690

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)


10696
10697
10698
# File 'lib/google/apis/apigee_v1/classes.rb', line 10696

def state
  @state
end

#ttlString

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

Returns:

  • (String)


10701
10702
10703
# File 'lib/google/apis/apigee_v1/classes.rb', line 10701

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)


10707
10708
10709
# File 'lib/google/apis/apigee_v1/classes.rb', line 10707

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
# File 'lib/google/apis/apigee_v1/classes.rb', line 10714

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