Module IAM.Role

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html

type tag = {
  1. key : string;
  2. value : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

and policy = {
  1. policy_document : Yojson.Safe.t;
  2. policy_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html

type properties = {
  1. assume_role_policy_document : Yojson.Safe.t;
  2. description : string option;
  3. managed_policy_arns : string list option;
  4. max_session_duration : int option;
  5. path : string option;
  6. permissions_boundary : string option;
  7. policies : policy list option;
  8. role_name : string option;
  9. tags : tag list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html;

val make_properties : assume_role_policy_document:Yojson.Safe.t -> ?description:string -> ?managed_policy_arns:string list -> ?max_session_duration:int -> ?path:string -> ?permissions_boundary:string -> ?policies:policy list -> ?role_name:string -> ?tags:tag list -> unit -> properties
val make_tag : key:string -> value:string -> unit -> tag
val make_policy : policy_document:Yojson.Safe.t -> policy_name:string -> unit -> policy
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_policy : policy -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
  2. arn : string;
  3. role_id : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string