nm_iam_condition_operator()

DESCRIPTION

Enum defining how to match a condition. When matching, a list of attributes are provided which is matched with the values configured in the condition.

A condition is considered a match if an attribute with the same key as the condition key is provided and its value matches any value of the condition. That is eg. if using STRING_EQUALS, the attribute matching the condition key must be equal to one of the condition values. Whereas with STRING_NOT_EQUALS, the attribute value must not be equal to any of the condition values.

To simplify the internal structure all values are stored as strings.

JSON representations:

DECLARATION

enum nm_iam_condition_operator {
    NM_IAM_CONDITION_OPERATOR_STRING_EQUALS,
    NM_IAM_CONDITION_OPERATOR_STRING_NOT_EQUALS,
    NM_IAM_CONDITION_OPERATOR_NUMERIC_EQUALS,
    NM_IAM_CONDITION_OPERATOR_NUMERIC_NOT_EQUALS,
    NM_IAM_CONDITION_OPERATOR_NUMERIC_LESS_THAN,
    NM_IAM_CONDITION_OPERATOR_NUMERIC_LESS_THAN_EQUALS,
    NM_IAM_CONDITION_OPERATOR_NUMERIC_GREATER_THAN,
    NM_IAM_CONDITION_OPERATOR_NUMERIC_GREATER_THAN_EQUALS,
    NM_IAM_CONDITION_OPERATOR_BOOL
}

PARAMETERS

STRING_EQUALS:
{"StringEquals": {"<key>": [ "value1", ...]}}
STRING_NOT_EQUALS:
{"StringNotEquals": {"<key>": [ "value1", ...]}}
NUMERIC_EQUALS:
{"NumericEquals": {"<key>": [ "42.3"]}}
NUMERIC_NOT_EQUALS:
{"NumericNotEquals": {"<key>": [ "42.3"]}}
NUMERIC_LESS_THAN:
{"NumericLessThan": {"<key>": [ "42.3"]}}
NUMERIC_LESS_THAN_EQUALS:
{"NumericLessThanEquals": {"<key>": [ "42.3"]}}
NUMERIC_GREATER_THAN:
{"NumericGreaterThan": {"<key>": [ "42.3"]}}
NUMERIC_GREATER_THAN_EQUALS:
{"NumericGreaterThanEquals": {"<key>": [ "42.3"]}}
BOOL:
{"Bool": {"<key>": [ "true" || "false"]}}