Skip to content

Latest commit

 

History

History
82 lines (50 loc) · 2.47 KB

README.md

File metadata and controls

82 lines (50 loc) · 2.47 KB

Filter

The filter package is designed to allow you to define filters, primarily by yaml to be able to filter resources. This is used in the nuke package to filter resources based on a set of criteria.

Filter's can be optionally added to a group filters within a group are combined with an AND operation. Filters in different group are combined with an OR operation.

There is also the concept of a global filter that is applied to all resources.

Global

You can define a global filter that will be applied to all resources. This is useful for defining a set of filters that should be applied to all resources.

It has a special key called __global__.

This only works when you are defining it as a resource type as part of the Filters map[string][]Filter type.

Types

There are multiple filter types that can be used to filter the resources. These types are used to match against the property.

  • empty
  • exact
  • glob
  • regex
  • contains
  • dateOlderThan
  • dateOlderThanNow
  • suffix
  • prefix
  • In
  • NotIn

empty / exact

These are identical, if you leave your type empty, it will choose exact. Exact will only match if values are identical.

glob

A glob allows for matching values using asterisk for a wild card, you may have more than one asterisk.

regex

A regex allows for matching values with any valid regular expression.

contains

A contains type allows for matching a value if it has the value contained within the property value.

dateOlderThan

This allows you to filter a property's value based on whether it is older

dateOlderThanNow

This allows you to filter a properties value based on whether it is older than the current time in UTC with an addition or subtraction of a duration value.

For example if the property is CreatedDate and the value is 2024-04-14T12:00:00Z and the current time is 2024-04-14T18:00:00Z then you can set a negative duration like -12h. In this case it would not match, as the CreatedDate would be after the adjusted time.

If you adjusted it -4h then it would match as the CreatedDate would be before the adjusted time.

suffix

This allows you to match a value if the value being filtered on is the suffix of the property value.

prefix

This allows you to match a value if the value being filtered on is the prefix of the property value.

In

This allows you to match a value if it is in a list of values.

NotIn

This allows you to match a value if it is not in a list of values.