Fugue.AWS.IAM.Typed.Condition

Conditions are described here: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html and here: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html

Table of Contents

Module Members

arnEquals

(Function)

matching exact ARN

Type Signature

 fun (Key, Arn) -> Entry

arnLike

(Function)

matching ARN pattern

Type Signature

 fun (Key, Arn) -> Entry

arnNotEquals

(Function)

negated ARN matching

Type Signature

 fun (Key, Arn) -> Entry

arnNotLike

(Function)

negated ARN pattern matching

Type Signature

 fun (Key, Arn) -> Entry

arnsEquals

(Function)

matching exact ARNs

Type Signature

 fun (Key, List<Arn>) -> Entry

arnsLike

(Function)

matching multiple ARN patterns

Type Signature

 fun (Key, List<Arn>) -> Entry

arnsNotEquals

(Function)

multiple negated ARN matching

Type Signature

 fun (Key, List<Arn>) -> Entry

arnsNotLike

(Function)

multiple negated ARN pattern matching

Type Signature

 fun (Key, List<Arn>) -> Entry

binaryEquals

(Function)

matching multiple binary value

Type Signature

 fun (Key, Binary) -> Entry

binarysEquals

(Function)

multiple matching binary values

Type Signature

 fun (Key, List<Binary>) -> Entry

dateEquals

(Function)

matching a specific date

Type Signature

 fun (Key, Date) -> Entry

dateGreaterThan

(Function)

matching after a specific date and time

Type Signature

 fun (Key, Date) -> Entry

dateGreaterThanEquals

(Function)

matching at or after a specific date and time

Type Signature

 fun (Key, Date) -> Entry

dateLessThan

(Function)

matching before a specific date and time

Type Signature

 fun (Key, Date) -> Entry

dateLessThanEquals

(Function)

matching at or before a specific date and time

Type Signature

 fun (Key, Date) -> Entry

dateNotEquals

(Function)

negated matching a specific date

Type Signature

 fun (Key, Date) -> Entry

datesEquals

(Function)

matching specific dates

Type Signature

 fun (Key, List<Date>) -> Entry

datesGreaterThan

(Function)

matching after specific dates and times

Type Signature

 fun (Key, List<Date>) -> Entry

datesGreaterThanEquals

(Function)

matching at or after specific dates and times

Type Signature

 fun (Key, List<Date>) -> Entry

datesLessThan

(Function)

matching before multiple specific dates and times

Type Signature

 fun (Key, List<Date>) -> Entry

datesLessThanEquals

(Function)

matching at or before specific dates and times

Type Signature

 fun (Key, List<Date>) -> Entry

datesNotEquals

(Function)

negated matching specific dates

Type Signature

 fun (Key, List<Date>) -> Entry

false

(Function)

matching boolean false

Type Signature

 fun (Key) -> Entry

forAllValues

(Function)

add for all values predicate

Type Signature

 fun (Entry) -> Entry
Argument: entry
Type: Entry
Returns:
Type: Entry

forAnyValue

(Function)

add for any values predicate

Type Signature

 fun (Entry) -> Entry
Argument: entry
Type: Entry
Returns:
Type: Entry

ifExists

(Function)

add if exists predicate

Type Signature

 fun (Entry) -> Entry
Argument: entry
Type: Entry
Returns:
Type: Entry

ignoreCase

(Function)

ignore case predicate for string equals and string not equals

Type Signature

 fun (Entry) -> Entry
Argument: entry
Type: Entry
Returns:
Type: Entry

ipAddress

(Function)

IP address matching

Type Signature

 fun (Key, IpAddr) -> Entry

ipAddresses

(Function)

IP addresses matching

Type Signature

 fun (Key, List<IpAddr>) -> Entry

isValid

(Function)

ensure an AWS condition Entry is valid

Type Signature

 fun (Entry) -> Validation
Argument: entry
Type: Entry
Returns:
Type: Validation

notIpAddress

(Function)

IP address negated matching

Type Signature

 fun (Key, IpAddr) -> Entry

notIpAddresses

(Function)

negated IP addresses matching

Type Signature

 fun (Key, List<IpAddr>) -> Entry

notNull

(Function)

matching not null

Type Signature

 fun (Key) -> Entry

null

(Function)

matching null

Type Signature

 fun (Key) -> Entry

numericEquals

(Function)

number equality matching

Type Signature

 fun (Key, Float) -> Entry

numericGreaterThan

(Function)

numeric greater than matching

Type Signature

 fun (Key, Float) -> Entry

numericGreaterThanEquals

(Function)

numeric greater than or equals matching

Type Signature

 fun (Key, Float) -> Entry

numericLessThan

(Function)

numeric less than matching

Type Signature

 fun (Key, Float) -> Entry

numericLessThanEquals

(Function)

numeric less than or equals matching

Type Signature

 fun (Key, Float) -> Entry

numericNotEquals

(Function)

negated number equality matching

Type Signature

 fun (Key, Float) -> Entry

numericsEquals

(Function)

multiple number equality matching

Type Signature

 fun (Key, List<Float>) -> Entry

numericsGreaterThan

(Function)

multiple numeric greater than matching

Type Signature

 fun (Key, List<Float>) -> Entry

numericsGreaterThanEquals

(Function)

multiple numeric greater than or equals matching

Type Signature

 fun (Key, List<Float>) -> Entry

numericsLessThan

(Function)

multiple numeric less than matching

Type Signature

 fun (Key, List<Float>) -> Entry

numericsLessThanEquals

(Function)

multiple numeric less than or equals matching

Type Signature

 fun (Key, List<Float>) -> Entry

numericsNotEquals

(Function)

multiple number negated equality matching

Type Signature

 fun (Key, List<Float>) -> Entry

stringEquals

(Function)

Exact matching for a string, case sensitive

Type Signature

 fun (Key, String) -> Entry

stringLike

(Function)

pattern matching for a string

Type Signature

 fun (Key, String) -> Entry

stringNotEquals

(Function)

Negated matching for a string

Type Signature

 fun (Key, String) -> Entry

stringNotLike

(Function)

negated pattern matching for a string

Type Signature

 fun (Key, String) -> Entry

stringsEquals

(Function)

Exact matching for strings, case sensitive

Type Signature

 fun (Key, List<String>) -> Entry

stringsLike

(Function)

pattern matching for strings

Type Signature

 fun (Key, List<String>) -> Entry

stringsNotEquals

(Function)

Negated matching for strings

Type Signature

 fun (Key, List<String>) -> Entry

stringsNotLike

(Function)

negated pattern matching for strings

Type Signature

 fun (Key, List<String>) -> Entry

toJSON

(Function)

Given a Ludwig.List of Entrys, construct a pair consisting of the JSON field and JSON value.

Type Signature

 fun (List<Entry>) -> (String, JSON)
Argument: x
Type: List<Entry>
Returns:
Type: ( String, JSON)

true

(Function)

matching boolean true

Type Signature

 fun (Key) -> Entry

Arn

(Type)

type Arn:
  String

ARN condition value Ludwig.String

Binary

(Type)

type Binary:
  String

binary condition value Ludwig.String

Block

(Type)

type Block:
  List<Entry>

IAM condition Block Ludwig.List<Entry>

Date

(Type)

type Date:
  String

date condition value Ludwig.String

Entry

(Type)

type Entry:
  type: Type
  typePredicate: TypePredicate
  key: Key
  values: List<Value>

IAM condition Entry

Record {

Field: type
Type: Type
Field: typePredicate
Type: TypePredicate
Field: key
Type: Key
Field: values
Type: List<Value>

}

IpAddr

(Type)

type IpAddr:
  String

ip address condition value Ludwig.String

Key

(Type)

type Key:
  String

IAM condition entry Key Ludwig.String

Type

(Type)

type Type:
  | StringEquals
  | StringNotEquals
  | StringEqualsIgnoreCase
  | StringNotEqualsIgnoreCase
  | StringLike
  | StringNotLike
  | NumericEquals
  | NumericNotEquals
  | NumericLessThan
  | NumericLessThanEquals
  | NumericGreaterThan
  | NumericGreaterThanEquals
  | DateEquals
  | DateNotEquals
  | DateLessThan
  | DateLessThanEquals
  | DateGreaterThan
  | DateGreaterThanEquals
  | Bool
  | BinaryEquals
  | IpAddress
  | NotIpAddress
  | ArnEquals
  | ArnLike
  | ArnNotEquals
  | ArnNotLike
  | Null

ArnEquals

(Constructor)

ArnLike

(Constructor)

ArnNotEquals

(Constructor)

ArnNotLike

(Constructor)

BinaryEquals

(Constructor)

Bool

(Constructor)

DateEquals

(Constructor)

DateGreaterThan

(Constructor)

DateGreaterThanEquals

(Constructor)

DateLessThan

(Constructor)

DateLessThanEquals

(Constructor)

DateNotEquals

(Constructor)

IpAddress

(Constructor)

NotIpAddress

(Constructor)

Null

(Constructor)

NumericEquals

(Constructor)

NumericGreaterThan

(Constructor)

NumericGreaterThanEquals

(Constructor)

NumericLessThan

(Constructor)

NumericLessThanEquals

(Constructor)

NumericNotEquals

(Constructor)

StringEquals

(Constructor)

StringEqualsIgnoreCase

(Constructor)

StringLike

(Constructor)

StringNotEquals

(Constructor)

StringNotEqualsIgnoreCase

(Constructor)

StringNotLike

(Constructor)

Type of IAM condition

TypePredicate

(Type)

type TypePredicate:
  | NoPredicate
  | IfExists
  | ForAllValues
  | ForAnyValue

ForAllValues

(Constructor)

ForAnyValue

(Constructor)

IfExists

(Constructor)

NoPredicate

(Constructor)

TypePredicate on IAM condition values

Value

(Type)

type Value:
  | String String
  | Number Float
  | Boolean Bool
  | Date Date
  | Binary Binary
  | IpAddr IpAddr
  | Arn Arn

Arn

(Constructor)

Argument:
Arn

Binary

(Constructor)

Argument:
Binary

Boolean

(Constructor)

Argument:
Ludwig.Bool

Date

(Constructor)

Argument:
Date

IpAddr

(Constructor)

Argument:
IpAddr

Number

(Constructor)

Argument:
Ludwig.Float

String

(Constructor)

Argument:
Ludwig.String

IAM condition value

parse

(Value)

(Parser<Block>) parse:
  parseMap(parseEntry)

Construct a Block from a JSON value.

Type Signature

 Parser<Block>