Module ImageBuilder.LifecyclePolicy

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html

type last_launched = {
  1. value : int;
  2. unit : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-lastlaunched.html

and filter = {
  1. type_ : string;
  2. value : int;
  3. retain_at_least : int option;
  4. unit : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-filter.html

and recipe_selection = {
  1. name : string;
  2. semantic_version : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-recipeselection.html

and include_resources = {
  1. containers : bool option;
  2. amis : bool option;
  3. snapshots : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-includeresources.html

and ami_exclusion_rules = {
  1. is_public : bool option;
  2. last_launched : last_launched option;
  3. regions : string list option;
  4. shared_accounts : string list option;
  5. tag_map : string Stdlib__Map.Make(Stdlib.String).t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-amiexclusionrules.html

and resource_selection = {
  1. recipes : recipe_selection list option;
  2. tag_map : string Stdlib__Map.Make(Stdlib.String).t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-resourceselection.html

and action = {
  1. type_ : string;
  2. include_resources : include_resources option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-action.html

and exclusion_rules = {
  1. amis : ami_exclusion_rules option;
  2. tag_map : string Stdlib__Map.Make(Stdlib.String).t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-exclusionrules.html

and policy_detail = {
  1. action : action;
  2. exclusion_rules : exclusion_rules option;
  3. filter : filter;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-imagebuilder-lifecyclepolicy-policydetail.html

type properties = {
  1. status : string option;
  2. description : string option;
  3. resource_type : string;
  4. policy_details : policy_detail list;
  5. execution_role : string;
  6. resource_selection : resource_selection;
  7. tags : string Stdlib__Map.Make(Stdlib.String).t option;
  8. name : string;
}

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

val make_properties : ?status:string -> ?description:string -> resource_type:string -> policy_details:policy_detail list -> execution_role:string -> resource_selection:resource_selection -> ?tags:string Stdlib__Map.Make(Stdlib.String).t -> name:string -> unit -> properties
val make_last_launched : value:int -> unit:string -> unit -> last_launched
val make_filter : type_:string -> value:int -> ?retain_at_least:int -> ?unit:string -> unit -> filter
val make_recipe_selection : name:string -> semantic_version:string -> unit -> recipe_selection
val make_include_resources : ?containers:bool -> ?amis:bool -> ?snapshots:bool -> unit -> include_resources
val make_ami_exclusion_rules : ?is_public:bool -> ?last_launched:last_launched -> ?regions:string list -> ?shared_accounts:string list -> ?tag_map:string Stdlib__Map.Make(Stdlib.String).t -> unit -> ami_exclusion_rules
val make_resource_selection : ?recipes:recipe_selection list -> ?tag_map:string Stdlib__Map.Make(Stdlib.String).t -> unit -> resource_selection
val make_action : type_:string -> ?include_resources:include_resources -> unit -> action
val make_exclusion_rules : ?amis:ami_exclusion_rules -> ?tag_map:string Stdlib__Map.Make(Stdlib.String).t -> unit -> exclusion_rules
val make_policy_detail : action:action -> ?exclusion_rules:exclusion_rules -> filter:filter -> unit -> policy_detail
val yojson_of_last_launched : last_launched -> Yojson.Safe.t
val yojson_of_filter : filter -> Yojson.Safe.t
val yojson_of_recipe_selection : recipe_selection -> Yojson.Safe.t
val yojson_of_include_resources : include_resources -> Yojson.Safe.t
val yojson_of_ami_exclusion_rules : ami_exclusion_rules -> Yojson.Safe.t
val yojson_of_resource_selection : resource_selection -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_action : action -> Yojson.Safe.t
val yojson_of_exclusion_rules : exclusion_rules -> Yojson.Safe.t
val yojson_of_policy_detail : policy_detail -> [> `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;
}
val create_attributes : string -> attributes
val cloudformation_type : string