Module DynamoDB.Table

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html

type projection = {
  1. non_key_attributes : string list option;
  2. projection_type : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-projection.html

and s3_bucket_source = {
  1. s3_bucket : string;
  2. s3_key_prefix : string option;
  3. s3_bucket_owner : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html

and provisioned_throughput = {
  1. write_capacity_units : int;
  2. read_capacity_units : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html

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

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

and time_to_live_specification = {
  1. enabled : bool;
  2. attribute_name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-timetolivespecification.html

and key_schema = {
  1. key_type : string;
  2. attribute_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html

and attribute_definition = {
  1. attribute_type : string;
  2. attribute_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-attributedefinition.html

and kinesis_stream_specification = {
  1. approximate_creation_date_time_precision : string option;
  2. stream_arn : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-kinesisstreamspecification.html

and sse_specification = {
  1. sse_enabled : bool;
  2. sse_type : string option;
  3. kms_master_key_id : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html

and contributor_insights_specification = {
  1. enabled : bool;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-contributorinsightsspecification.html

and csv = {
  1. delimiter : string option;
  2. header_list : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-csv.html

and point_in_time_recovery_specification = {
  1. point_in_time_recovery_enabled : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html

and stream_specification = {
  1. stream_view_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html

and input_format_options = {
  1. csv : csv option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-inputformatoptions.html

and global_secondary_index = {
  1. index_name : string;
  2. contributor_insights_specification : contributor_insights_specification option;
  3. projection : projection;
  4. provisioned_throughput : provisioned_throughput option;
  5. key_schema : key_schema list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-globalsecondaryindex.html

and local_secondary_index = {
  1. index_name : string;
  2. projection : projection;
  3. key_schema : key_schema list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-localsecondaryindex.html

and import_source_specification = {
  1. s3_bucket_source : s3_bucket_source;
  2. input_format : string;
  3. input_format_options : input_format_options option;
  4. input_compression_type : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-importsourcespecification.html

type properties = {
  1. sse_specification : sse_specification option;
  2. kinesis_stream_specification : kinesis_stream_specification option;
  3. stream_specification : stream_specification option;
  4. contributor_insights_specification : contributor_insights_specification option;
  5. import_source_specification : import_source_specification option;
  6. point_in_time_recovery_specification : point_in_time_recovery_specification option;
  7. provisioned_throughput : provisioned_throughput option;
  8. table_name : string option;
  9. attribute_definitions : attribute_definition list option;
  10. billing_mode : string option;
  11. global_secondary_indexes : global_secondary_index list option;
  12. key_schema : key_schema list;
  13. local_secondary_indexes : local_secondary_index list option;
  14. deletion_protection_enabled : bool option;
  15. table_class : string option;
  16. tags : tag list option;
  17. time_to_live_specification : time_to_live_specification option;
}

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

val make_properties : ?sse_specification:sse_specification -> ?kinesis_stream_specification:kinesis_stream_specification -> ?stream_specification:stream_specification -> ?contributor_insights_specification:contributor_insights_specification -> ?import_source_specification:import_source_specification -> ?point_in_time_recovery_specification:point_in_time_recovery_specification -> ?provisioned_throughput:provisioned_throughput -> ?table_name:string -> ?attribute_definitions:attribute_definition list -> ?billing_mode:string -> ?global_secondary_indexes:global_secondary_index list -> key_schema:key_schema list -> ?local_secondary_indexes:local_secondary_index list -> ?deletion_protection_enabled:bool -> ?table_class:string -> ?tags:tag list -> ?time_to_live_specification:time_to_live_specification -> unit -> properties
val make_projection : ?non_key_attributes:string list -> ?projection_type:string -> unit -> projection
val make_s3_bucket_source : s3_bucket:string -> ?s3_key_prefix:string -> ?s3_bucket_owner:string -> unit -> s3_bucket_source
val make_provisioned_throughput : write_capacity_units:int -> read_capacity_units:int -> unit -> provisioned_throughput
val make_tag : value:string -> key:string -> unit -> tag
val make_time_to_live_specification : enabled:bool -> ?attribute_name:string -> unit -> time_to_live_specification
val make_key_schema : key_type:string -> attribute_name:string -> unit -> key_schema
val make_attribute_definition : attribute_type:string -> attribute_name:string -> unit -> attribute_definition
val make_kinesis_stream_specification : ?approximate_creation_date_time_precision:string -> stream_arn:string -> unit -> kinesis_stream_specification
val make_sse_specification : sse_enabled:bool -> ?sse_type:string -> ?kms_master_key_id:string -> unit -> sse_specification
val make_contributor_insights_specification : enabled:bool -> unit -> contributor_insights_specification
val make_csv : ?delimiter:string -> ?header_list:string list -> unit -> csv
val make_point_in_time_recovery_specification : ?point_in_time_recovery_enabled:bool -> unit -> point_in_time_recovery_specification
val make_stream_specification : stream_view_type:string -> unit -> stream_specification
val make_input_format_options : ?csv:csv -> unit -> input_format_options
val make_global_secondary_index : index_name:string -> ?contributor_insights_specification:contributor_insights_specification -> projection:projection -> ?provisioned_throughput:provisioned_throughput -> key_schema:key_schema list -> unit -> global_secondary_index
val make_local_secondary_index : index_name:string -> projection:projection -> key_schema:key_schema list -> unit -> local_secondary_index
val make_import_source_specification : s3_bucket_source:s3_bucket_source -> input_format:string -> ?input_format_options:input_format_options -> ?input_compression_type:string -> unit -> import_source_specification
val yojson_of_projection : projection -> Yojson.Safe.t
val yojson_of_s3_bucket_source : s3_bucket_source -> Yojson.Safe.t
val yojson_of_provisioned_throughput : provisioned_throughput -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_time_to_live_specification : time_to_live_specification -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_key_schema : key_schema -> Yojson.Safe.t
val yojson_of_attribute_definition : attribute_definition -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_kinesis_stream_specification : kinesis_stream_specification -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_sse_specification : sse_specification -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_contributor_insights_specification : contributor_insights_specification -> Yojson.Safe.t
val yojson_of_csv : csv -> Yojson.Safe.t
val yojson_of_point_in_time_recovery_specification : point_in_time_recovery_specification -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_stream_specification : stream_specification -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_input_format_options : input_format_options -> Yojson.Safe.t
val yojson_of_global_secondary_index : global_secondary_index -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_local_secondary_index : local_secondary_index -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_import_source_specification : import_source_specification -> [> `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. stream_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string