Class LabelPropertiesPattern (0.1.0)

LabelPropertiesPattern(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Matcher for label and property. The matcher accepts both exact match and expression.

Attributes

Name Description
label_matcher_expr str
Required. Matcher expression for labels. Allow OR / AND operators; The syntax is defined by the following grammar: - The label expression can use either OR or AND operator, but not a combination of both. Example: AppHub/Application, AppHub/Workload OR AppHub/Service
property_matcher_expr str
Optional. The syntax of the filter is defined by the following grammar: https://google.aip.dev/160. Referencing properties of graph elements using traversal operator .. Repeated properties cannot be traversed. e.g. e.NodeName, where e is a node or edge alias. The following properties are supported for all node and edge types: - Labels: repeated string property. Can be used to combine conditions between labels and properties. e.g. e.Labels : "label_1" to match a node/edge with label label_1. - NodeName/EdgeName: string property. Support for filtering by node or edge names. e.g. app.NodeName = "apphub.io/Application" Other properties types can be found at https://apptopology.googleapis.com/v1/GetSchema The following operators are supported on properties: 1. Checking if a non-repeated property of a graph element is equal to a scalar value using the equality operator =. - LHS must be a node/edge property. - RHS must be a scalar literal. - Supported value types: string (enclosed in double quotes), int, double, and boolean. e.g. e.project = "project_1" 2. Checking if a non-repeated property of a graph element satisfies a condition using the comparison operators >, , >=, <>. - LHS must be a node/edge property. - RHS must be a scalar literal. - Supported value types: string (enclosed in double quotes), int, double. e.g. e.NumericProperty <> 3. Checking if a scalar value is present in a repeated property HAS operator :. - LHS must be a repeated property. - RHS must be a scalar literal. - Supported value types: string (enclosed in double quotes), int, double. e.g. e.Labels : "label_1", where e.Labels is a repeated string property. 4. Checking if a property is present using HAS_PROPERTY operator :. - LHS must be a node or edge alias. - RHS must be a property name. e.g. e : Base/Location, where e is a node or edge alias. 5. Combining multiple filters using logical operators : AND, and OR. - Parentheses must be used to resolve ambiguity. e.g. e.Base/Location = "us-central1" AND e.project = "project_1" 6. The following custom functions are supported: - **EQUALS_ANY(arg1, arg2, arg3, ...)** - Checks if arg1 (a non-repeated property) equals any of the subsequent scalar literal arguments. - arg1: non-repeated property. Supported value types: string (enclosed in double quotes), int, double. - arg2, arg3, ...: The remaining arguments are literal values to compare against. All the arguments must be of the same type. - e.g. EQUALS_ANY(e.project, "project_1", "project_2") - **CONTAINS_ANY(arg1, arg2, arg3, ...)** - Checks if a repeated property has any of the given scalar literals. arg1: repeated_property. Supported element types: string (enclosed in double quotes), int, double. - arg2, arg3, ...: The remaining arguments are literal values to compare against. All the arguments must be of the same type. - e.g. CONTAINS_ANY(e.folders, "folder_1", "folder_2") - **CONTAINS_ANY_LESS_THAN(arg1, arg2)** - Checks if a repeated property has any element less than the given scalar literal. - arg1: repeated_property. Supported element types are: int, double. - arg2: scalar literal - e.g. CONTAINS_ANY_LESS_THAN(e.NumericProperty, 0.1) - **CONTAINS_ANY_GREATER_THAN(arg1, arg2)** - Checks if a repeated property has any element greater than the given scalar literal. - arg1: repeated_property. Supported element types are: int, double. - arg2: scalar literal - e.g. CONTAINS_ANY_GREATER_THAN(e.NumericProperty, 0.1) - **CONTAINS_ANY_LESS_OR_EQUAL(arg1, arg2)** - Checks if a repeated property has any element less than or equal to the given scalar literal. - arg1: repeated_property. Supported element types are: int, double. - arg2: scalar literal - e.g. CONTAINS_ANY_LESS_OR_EQUAL(e.NumericProperty, 0.1) - **CONTAINS_ANY_GREATER_OR_EQUAL(arg1, arg2)** - Checks if a repeated property has any element greater than or equal to the given scalar literal. - arg1: repeated_property. Supported element types are: int, double. - arg2: scalar literal - e.g. CONTAINS_ANY_GREATER_OR_EQUAL(e.NumericProperty, 0.1) NOTE: - For Alert nodes, only the equality operator = is supported. The expression cannot be a composite boolean expression (i.e., combining multiple conditions with AND/OR is not supported; it must be simple). e.g. a.NodeName = "alert-1" is supported, but a.NodeName = "alert-1" OR a.NodeName = "alert-2" is not supported. - For traffic edges, filters cannot be added.