Fugue.AWS.IAM.Typed.Action

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

Module Members

action

(Function)

Construct a Block from a (possibly wildcard) list of Actions.

Type Signature

 fun (Wildcard<List<String>>) -> Block
Argument: actions
Type: Wildcard<List<String>>
Returns:
Type: Block

isValid

(Function)

Ensure that an action Block is valid

Type Signature

 fun (Block) -> Validation
Argument: x
Type: Block
Returns:
Type: Validation

notAction

(Function)

Construct a Block which excludes a (possibly wildcard) list of Actions.

Type Signature

 fun (Wildcard<List<String>>) -> Block
Argument: actions
Type: Wildcard<List<String>>
Returns:
Type: Block

parse

(Function)

Given a Type and JSON actions, construct a Block.

Type Signature

 fun (Type) -> Parser<Block>
Argument: ty
Type: Type
Returns:
Type: Parser<Block>

toJSON

(Function)

Given a Block, construct a pair consisting of the JSON field and JSON value.

Type Signature

 fun (Block) -> (String, JSON)
Argument: x
Type: Block
Returns:
Type: ( String, JSON)

typeFromField

(Function)

convert a Ludwig.String to an action Type

Type Signature

 fun (String) -> Result<Type>
Argument: x
Type: String
Returns:
Type: Result<Type>

Action

(Type)

type Action:
  service: String
  task: String

IAM action

Record {

Field: service
Type: String
Field: task
Type: String

}

Block

(Type)

type Block:
  type: Type
  actions: Wildcard<List<Action>>

IAM action block

Record {

Field: type
Type: Type
Field: actions
Type: Wildcard<List<Action>>

}

Type

(Type)

type Type:
  | Action
  | NotAction

Action

(Constructor)

NotAction

(Constructor)

IAM action type (either Action or NotAction)