Module DLM.LifecyclePolicy

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

type retention_archive_tier = {
  1. interval_unit : string option;
  2. count : int option;
  3. interval : int option;
}

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

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

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

and exclude_volume_types_list = unit

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-excludevolumetypeslist.html;

and fast_restore_rule = {
  1. interval_unit : string option;
  2. availability_zones : string list option;
  3. count : int option;
  4. interval : int option;
}

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

and cross_region_copy_target = {
  1. target_region : string option;
}

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

and script = {
  1. execution_handler_service : string option;
  2. execution_timeout : int option;
  3. stages : string list option;
  4. execution_handler : string option;
  5. maximum_retry_count : int option;
  6. execute_operation_on_script_failure : bool option;
}

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

and retain_rule = {
  1. interval_unit : string option;
  2. count : int option;
  3. interval : int option;
}

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

and cross_region_copy_deprecate_rule = {
  1. interval_unit : string;
  2. interval : int;
}

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

and cross_region_copy_targets = unit

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopytargets.html;

and event_parameters = {
  1. event_type : string;
  2. snapshot_owner : string list;
  3. description_regex : string option;
}

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

and deprecate_rule = {
  1. interval_unit : string option;
  2. count : int option;
  3. interval : int option;
}

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

and volume_type_values = unit

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-volumetypevalues.html;

and share_rule = {
  1. target_accounts : string list option;
  2. unshare_interval_unit : string option;
  3. unshare_interval : int option;
}

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

and exclude_tags = unit

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-excludetags.html;

and encryption_configuration = {
  1. encrypted : bool;
  2. cmk_arn : string option;
}

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

and cross_region_copy_retain_rule = {
  1. interval_unit : string;
  2. interval : int;
}

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

and create_rule = {
  1. interval_unit : string option;
  2. scripts : script list option;
  3. times : string list option;
  4. cron_expression : string option;
  5. interval : int option;
  6. location : string option;
}

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

and parameters = {
  1. exclude_boot_volume : bool option;
  2. exclude_data_volume_tags : tag list option;
  3. no_reboot : bool option;
}

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

and archive_retain_rule = {
  1. retention_archive_tier : retention_archive_tier;
}

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

and event_source = {
  1. type_ : string;
  2. parameters : event_parameters option;
}

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

and exclusions = {
  1. exclude_boot_volumes : bool option;
  2. exclude_tags : exclude_tags option;
  3. exclude_volume_types : exclude_volume_types_list option;
}

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

and cross_region_copy_rule = {
  1. target_region : string option;
  2. target : string option;
  3. deprecate_rule : cross_region_copy_deprecate_rule option;
  4. encrypted : bool;
  5. cmk_arn : string option;
  6. retain_rule : cross_region_copy_retain_rule option;
  7. copy_tags : bool option;
}

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

and cross_region_copy_action = {
  1. target : string;
  2. encryption_configuration : encryption_configuration;
  3. retain_rule : cross_region_copy_retain_rule option;
}

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

and archive_rule = {
  1. retain_rule : archive_retain_rule;
}

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

and action = {
  1. cross_region_copy : cross_region_copy_action list;
  2. name : string;
}

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

and schedule = {
  1. share_rules : share_rule list option;
  2. deprecate_rule : deprecate_rule option;
  3. tags_to_add : tag list option;
  4. create_rule : create_rule option;
  5. variable_tags : tag list option;
  6. fast_restore_rule : fast_restore_rule option;
  7. archive_rule : archive_rule option;
  8. retain_rule : retain_rule option;
  9. cross_region_copy_rules : cross_region_copy_rule list option;
  10. name : string option;
  11. copy_tags : bool option;
}

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

and policy_details = {
  1. policy_language : string option;
  2. resource_types : string list option;
  3. schedules : schedule list option;
  4. policy_type : string option;
  5. create_interval : int option;
  6. parameters : parameters option;
  7. extend_deletion : bool option;
  8. exclusions : exclusions option;
  9. actions : action list option;
  10. resource_type : string option;
  11. retain_interval : int option;
  12. event_source : event_source option;
  13. cross_region_copy_targets : cross_region_copy_targets option;
  14. target_tags : tag list option;
  15. resource_locations : string list option;
  16. copy_tags : bool option;
}

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

type properties = {
  1. execution_role_arn : string option;
  2. default_policy : string option;
  3. create_interval : int option;
  4. description : string option;
  5. extend_deletion : bool option;
  6. exclusions : exclusions option;
  7. state : string option;
  8. cross_region_copy_targets : cross_region_copy_targets option;
  9. policy_details : policy_details option;
  10. tags : tag list option;
  11. retain_interval : int option;
  12. copy_tags : bool option;
}

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

val make_properties : ?execution_role_arn:string -> ?default_policy:string -> ?create_interval:int -> ?description:string -> ?extend_deletion:bool -> ?exclusions:exclusions -> ?state:string -> ?cross_region_copy_targets:cross_region_copy_targets -> ?policy_details:policy_details -> ?tags:tag list -> ?retain_interval:int -> ?copy_tags:bool -> unit -> properties
val make_retention_archive_tier : ?interval_unit:string -> ?count:int -> ?interval:int -> unit -> retention_archive_tier
val make_tag : key:string -> value:string -> unit -> tag
val make_fast_restore_rule : ?interval_unit:string -> ?availability_zones:string list -> ?count:int -> ?interval:int -> unit -> fast_restore_rule
val make_cross_region_copy_target : ?target_region:string -> unit -> cross_region_copy_target
val make_script : ?execution_handler_service:string -> ?execution_timeout:int -> ?stages:string list -> ?execution_handler:string -> ?maximum_retry_count:int -> ?execute_operation_on_script_failure:bool -> unit -> script
val make_retain_rule : ?interval_unit:string -> ?count:int -> ?interval:int -> unit -> retain_rule
val make_cross_region_copy_deprecate_rule : interval_unit:string -> interval:int -> unit -> cross_region_copy_deprecate_rule
val make_event_parameters : event_type:string -> snapshot_owner:string list -> ?description_regex:string -> unit -> event_parameters
val make_deprecate_rule : ?interval_unit:string -> ?count:int -> ?interval:int -> unit -> deprecate_rule
val make_share_rule : ?target_accounts:string list -> ?unshare_interval_unit:string -> ?unshare_interval:int -> unit -> share_rule
val make_encryption_configuration : encrypted:bool -> ?cmk_arn:string -> unit -> encryption_configuration
val make_cross_region_copy_retain_rule : interval_unit:string -> interval:int -> unit -> cross_region_copy_retain_rule
val make_create_rule : ?interval_unit:string -> ?scripts:script list -> ?times:string list -> ?cron_expression:string -> ?interval:int -> ?location:string -> unit -> create_rule
val make_parameters : ?exclude_boot_volume:bool -> ?exclude_data_volume_tags:tag list -> ?no_reboot:bool -> unit -> parameters
val make_archive_retain_rule : retention_archive_tier:retention_archive_tier -> unit -> archive_retain_rule
val make_event_source : type_:string -> ?parameters:event_parameters -> unit -> event_source
val make_exclusions : ?exclude_boot_volumes:bool -> ?exclude_tags:exclude_tags -> ?exclude_volume_types:exclude_volume_types_list -> unit -> exclusions
val make_cross_region_copy_rule : ?target_region:string -> ?target:string -> ?deprecate_rule:cross_region_copy_deprecate_rule -> encrypted:bool -> ?cmk_arn:string -> ?retain_rule:cross_region_copy_retain_rule -> ?copy_tags:bool -> unit -> cross_region_copy_rule
val make_cross_region_copy_action : target:string -> encryption_configuration:encryption_configuration -> ?retain_rule:cross_region_copy_retain_rule -> unit -> cross_region_copy_action
val make_archive_rule : retain_rule:archive_retain_rule -> unit -> archive_rule
val make_action : cross_region_copy:cross_region_copy_action list -> name:string -> unit -> action
val make_schedule : ?share_rules:share_rule list -> ?deprecate_rule:deprecate_rule -> ?tags_to_add:tag list -> ?create_rule:create_rule -> ?variable_tags:tag list -> ?fast_restore_rule:fast_restore_rule -> ?archive_rule:archive_rule -> ?retain_rule:retain_rule -> ?cross_region_copy_rules:cross_region_copy_rule list -> ?name:string -> ?copy_tags:bool -> unit -> schedule
val make_policy_details : ?policy_language:string -> ?resource_types:string list -> ?schedules:schedule list -> ?policy_type:string -> ?create_interval:int -> ?parameters:parameters -> ?extend_deletion:bool -> ?exclusions:exclusions -> ?actions:action list -> ?resource_type:string -> ?retain_interval:int -> ?event_source:event_source -> ?cross_region_copy_targets:cross_region_copy_targets -> ?target_tags:tag list -> ?resource_locations:string list -> ?copy_tags:bool -> unit -> policy_details
val yojson_of_retention_archive_tier : retention_archive_tier -> Yojson.Safe.t
val yojson_of_tag : tag -> Yojson.Safe.t
val yojson_of_exclude_volume_types_list : exclude_volume_types_list -> Yojson.Safe.t
val yojson_of_fast_restore_rule : fast_restore_rule -> Yojson.Safe.t
val yojson_of_cross_region_copy_target : cross_region_copy_target -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_script : script -> Yojson.Safe.t
val yojson_of_retain_rule : retain_rule -> Yojson.Safe.t
val yojson_of_cross_region_copy_deprecate_rule : cross_region_copy_deprecate_rule -> Yojson.Safe.t
val yojson_of_cross_region_copy_targets : cross_region_copy_targets -> Yojson.Safe.t
val yojson_of_event_parameters : event_parameters -> Yojson.Safe.t
val yojson_of_deprecate_rule : deprecate_rule -> Yojson.Safe.t
val yojson_of_volume_type_values : volume_type_values -> [> `Assoc of 'a list ]
val yojson_of_share_rule : share_rule -> Yojson.Safe.t
val yojson_of_exclude_tags : exclude_tags -> Yojson.Safe.t
val yojson_of_encryption_configuration : encryption_configuration -> Yojson.Safe.t
val yojson_of_cross_region_copy_retain_rule : cross_region_copy_retain_rule -> Yojson.Safe.t
val yojson_of_create_rule : create_rule -> Yojson.Safe.t
val yojson_of_parameters : parameters -> Yojson.Safe.t
val yojson_of_archive_retain_rule : archive_retain_rule -> Yojson.Safe.t
val yojson_of_event_source : event_source -> Yojson.Safe.t
val yojson_of_exclusions : exclusions -> Yojson.Safe.t
val yojson_of_cross_region_copy_rule : cross_region_copy_rule -> Yojson.Safe.t
val yojson_of_cross_region_copy_action : cross_region_copy_action -> Yojson.Safe.t
val yojson_of_archive_rule : archive_rule -> Yojson.Safe.t
val yojson_of_action : action -> Yojson.Safe.t
val yojson_of_schedule : schedule -> Yojson.Safe.t
val yojson_of_policy_details : policy_details -> [> `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