Module Lightsail.Instance

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html

type port = {
  1. from_port : int option;
  2. access_direction : string option;
  3. cidr_list_aliases : string list option;
  4. to_port : int option;
  5. ipv6_cidrs : string list option;
  6. access_from : string option;
  7. protocol : string option;
  8. access_type : string option;
  9. cidrs : string list option;
  10. common_name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-port.html

and auto_snapshot_add_on = {
  1. snapshot_time_of_day : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-autosnapshotaddon.html

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

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

and state = {
  1. code : int option;
  2. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-state.html

and disk = {
  1. size_in_gb : string option;
  2. path : string;
  3. attachment_state : string option;
  4. is_system_disk : bool option;
  5. attached_to : string option;
  6. iops : int option;
  7. disk_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-disk.html

and location = {
  1. region_name : string option;
  2. availability_zone : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-location.html

and monthly_transfer = {
  1. gb_per_month_allocated : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-monthlytransfer.html

and hardware = {
  1. cpu_count : int option;
  2. ram_size_in_gb : int option;
  3. disks : disk list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-hardware.html

and add_on = {
  1. status : string option;
  2. add_on_type : string;
  3. auto_snapshot_add_on_request : auto_snapshot_add_on option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-addon.html

and networking = {
  1. ports : port list;
  2. monthly_transfer : monthly_transfer option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-instance-networking.html

type properties = {
  1. instance_name : string;
  2. key_pair_name : string option;
  3. bundle_id : string;
  4. blueprint_id : string;
  5. networking : networking option;
  6. user_data : string option;
  7. state : state option;
  8. availability_zone : string option;
  9. add_ons : add_on list option;
  10. hardware : hardware option;
  11. tags : tag list option;
  12. location : location option;
}

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

val make_properties : instance_name:string -> ?key_pair_name:string -> bundle_id:string -> blueprint_id:string -> ?networking:networking -> ?user_data:string -> ?state:state -> ?availability_zone:string -> ?add_ons:add_on list -> ?hardware:hardware -> ?tags:tag list -> ?location:location -> unit -> properties
val make_port : ?from_port:int -> ?access_direction:string -> ?cidr_list_aliases:string list -> ?to_port:int -> ?ipv6_cidrs:string list -> ?access_from:string -> ?protocol:string -> ?access_type:string -> ?cidrs:string list -> ?common_name:string -> unit -> port
val make_auto_snapshot_add_on : ?snapshot_time_of_day:string -> unit -> auto_snapshot_add_on
val make_tag : value:string -> key:string -> unit -> tag
val make_state : ?code:int -> ?name:string -> unit -> state
val make_disk : ?size_in_gb:string -> path:string -> ?attachment_state:string -> ?is_system_disk:bool -> ?attached_to:string -> ?iops:int -> disk_name:string -> unit -> disk
val make_location : ?region_name:string -> ?availability_zone:string -> unit -> location
val make_monthly_transfer : ?gb_per_month_allocated:string -> unit -> monthly_transfer
val make_hardware : ?cpu_count:int -> ?ram_size_in_gb:int -> ?disks:disk list -> unit -> hardware
val make_add_on : ?status:string -> add_on_type:string -> ?auto_snapshot_add_on_request:auto_snapshot_add_on -> unit -> add_on
val make_networking : ports:port list -> ?monthly_transfer:monthly_transfer -> unit -> networking
val yojson_of_port : port -> Yojson.Safe.t
val yojson_of_auto_snapshot_add_on : auto_snapshot_add_on -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_state : state -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_disk : disk -> Yojson.Safe.t
val yojson_of_location : location -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_monthly_transfer : monthly_transfer -> Yojson.Safe.t
val yojson_of_hardware : hardware -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_add_on : add_on -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_networking : networking -> [> `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. ssh_key_name : string;
  3. networking__monthly_transfer__gb_per_month_allocated : string;
  4. hardware__cpu_count : int;
  5. private_ip_address : string;
  6. user_name : string;
  7. resource_type : string;
  8. location__region_name : string;
  9. public_ip_address : string;
  10. location__availability_zone : string;
  11. state__code : int;
  12. support_code : string;
  13. state__name : string;
  14. instance_arn : string;
  15. hardware__ram_size_in_gb : int;
}
val create_attributes : string -> attributes
val cloudformation_type : string