Class: Google::Apis::SaasservicemgmtV1beta1::EvaluationRule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/saasservicemgmt_v1beta1/classes.rb,
lib/google/apis/saasservicemgmt_v1beta1/representations.rb,
lib/google/apis/saasservicemgmt_v1beta1/representations.rb

Overview

EvaluationRule defines a single rule for evaluating a feature flag. A rule consists of a condition that, if met, assigns a specific variant or allocation to the user.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ EvaluationRule

Returns a new instance of EvaluationRule.



423
424
425
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 423

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

Instance Attribute Details

#allocation_idString

Optional. The ID of an allocation to target. Corresponds to the JSON property allocationId

Returns:

  • (String)


397
398
399
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 397

def allocation_id
  @allocation_id
end

#conditionString

Required. A Common Expression Language (CEL) expression that evaluates to a boolean. The expression is evaluated against the provided context. If it returns true, the rule's target is applied. Corresponds to the JSON property condition

Returns:

  • (String)


404
405
406
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 404

def condition
  @condition
end

#idString

Required. Evaluation rule ID. Max length: 128 bytes. Corresponds to the JSON property id

Returns:

  • (String)


409
410
411
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 409

def id
  @id
end

#targetString

Optional. Deprecated: Use rule_target instead. The target variant or allocation to apply if the condition is met. This should match the name of a defined variant or allocation's ID. Corresponds to the JSON property target

Returns:

  • (String)


416
417
418
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 416

def target
  @target
end

#variant_idString

Optional. The name of a variant to target. Corresponds to the JSON property variantId

Returns:

  • (String)


421
422
423
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 421

def variant_id
  @variant_id
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



428
429
430
431
432
433
434
# File 'lib/google/apis/saasservicemgmt_v1beta1/classes.rb', line 428

def update!(**args)
  @allocation_id = args[:allocation_id] if args.key?(:allocation_id)
  @condition = args[:condition] if args.key?(:condition)
  @id = args[:id] if args.key?(:id)
  @target = args[:target] if args.key?(:target)
  @variant_id = args[:variant_id] if args.key?(:variant_id)
end