Skip to content

Commit ec6aae2

Browse files
authored
Allow to disable synthesis rules & filter relationships by entitlement (#2122)
* Allow the disabled:true configuration * Allow ntilements * Add the provided entitlement descriptions by Pradeep Sundaram
1 parent fe0793d commit ec6aae2

File tree

36 files changed

+241
-13
lines changed

36 files changed

+241
-13
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ Whenever there's a contribution via pull request, some validations are automatic
4444
You can execute the validations locally using our dockerized validator:
4545

4646
```
47-
docker-compose run validate-definitions
47+
docker compose run validate-definitions
4848
```
4949

5050
Remember that you may need to rebuild the images to pick up validation changes if you have run this in the past.
5151

5252
```
53-
docker-compose build validate-definitions
53+
docker compose build validate-definitions
5454
```
5555

5656
Read more about the [current validations](/validator/README.md).

docs/entities/synthesis.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ synthesis:
1616
name: hostname
1717
```
1818
19+
It can also be explicitly defined that synthesis is not allowed for a specific type.
20+
21+
```yaml
22+
synthesis:
23+
disabled: true
24+
```
25+
1926
| **Name** | **Type** | **Required** | **Description** |
2027
| -------- | -------- | ------------ | ---------------- |
2128
| name | String | Yes | The attribute to use for the entity name. |
@@ -25,6 +32,7 @@ synthesis:
2532
| conditions | List | No | The list of conditions to apply in the data point to match the rule. Defaults to an empty list. |
2633
| tags | List | No | The list of attributes to copy as entity tags if the rule matches. Defaults to an empty list. |
2734

35+
2836
### Identifier
2937

3038
As previously mentioned the identifier should be a unique value for that entityType in a specific user account.

docs/relationships/relationship_synthesis.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ relationships:
8181
version: "1"
8282
origins:
8383
- OpenTelemetry
84+
entitlements:
85+
matching: anyOf
86+
values:
87+
- advanced_ccu
8488
conditions:
8589
- attribute: entity.type
8690
anyOf: [ "PIXIE_DNS" ]
@@ -173,6 +177,45 @@ One rule can be applied to multiple sources, as shown in the example. These orig
173177
to filter which rules to evaluate and which ones to ignore.
174178
The mapping of origins to sources allows for performance improvements when evaluating rules via the matching system.
175179

180+
### Entitlements
181+
182+
Optionally, you can create a rule that will only match if the account of the telemetry has the required entitlements.
183+
184+
185+
```yaml
186+
entitlements:
187+
matching: anyOf
188+
values:
189+
- advanced_ccu
190+
```
191+
192+
#### Matching
193+
194+
Defines how the entitlements will be matched.
195+
Only `anyOf` is allowed.
196+
197+
#### Values
198+
199+
Defines the names of the entitlements to match.
200+
The account producing the telemetry must contain the entitlements in order for the rule to match.
201+
202+
203+
The entitlements to use is a closed list defined below:
204+
205+
| **Entitlement** | **Description** |
206+
|-----------------|-----------------|
207+
| advanced_ccu | Controls whether certain advanced capabilities are accessible in the product |
208+
| catalog_ccu | Controls whether customers can use Catalogs in the product |
209+
| catalogs_discount_usage | Trial version of the above |
210+
| auto_discovery_entities_ccu | Controls whether customers can enable and use Auto Discovery |
211+
| auto_discovery_entities_ccu_discount_usage | Trial version of the previous one |
212+
| advanced_maps_ccu | Controls whether customers can use advanced maps (infrastructure maps and Dynamic Flow Maps) |
213+
| advanced_maps_discount_usage | Trial version of the previous one |
214+
| ngep_nrql_access_layer_ccu | No definition provided |
215+
216+
If you need an entitlement not in the list reach us.
217+
218+
176219
### Conditions
177220

178221
`Conditions` are used to determine if a rule should be applied to a given data point.

entity-types/uninstrumented-awsappsyncapi/definition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ type: AWSAPPSYNCAPI
44
configuration:
55
entityExpirationTime: DAILY
66
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

entity-types/uninstrumented-awsautoscalinggroup/definition.stg.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ type: AWSAUTOSCALINGGROUP
44
configuration:
55
entityExpirationTime: DAILY
66
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

entity-types/uninstrumented-awsdynamodbtable/definition.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@ type: AWSDYNAMODBTABLE
33

44
configuration:
55
entityExpirationTime: DAILY
6-
alertable: false
6+
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

entity-types/uninstrumented-awsec2/definition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ type: AWSEC2
44
configuration:
55
entityExpirationTime: DAILY
66
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

entity-types/uninstrumented-awselasticsearchcluster/definition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ type: AWSELASTICSEARCHCLUSTER
44
configuration:
55
entityExpirationTime: DAILY
66
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

entity-types/uninstrumented-awskinesisdeliverystream/definition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ type: AWSKINESISDELIVERYSTREAM
44
configuration:
55
entityExpirationTime: DAILY
66
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

entity-types/uninstrumented-awskinesisstream/definition.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ type: AWSKINESISSTREAM
44
configuration:
55
entityExpirationTime: DAILY
66
alertable: false
7+
8+
synthesis:
9+
# Uninstrumented can't use synthesis
10+
disabled: true

0 commit comments

Comments
 (0)