Module ECS.Service

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html

type placement_strategy = {
  1. field : string option;
  2. type_ : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html

and aws_vpc_configuration = {
  1. security_groups : string list option;
  2. subnets : string list option;
  3. assign_public_ip : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html

and timeout_configuration = {
  1. per_request_timeout_seconds : int option;
  2. idle_timeout_seconds : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-timeoutconfiguration.html

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

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

and load_balancer = {
  1. target_group_arn : string option;
  2. load_balancer_name : string option;
  3. container_name : string option;
  4. container_port : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html

and service_connect_tls_certificate_authority = {
  1. aws_pca_authority_arn : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttlscertificateauthority.html

and service_registry = {
  1. container_name : string option;
  2. port : int option;
  3. container_port : int option;
  4. registry_arn : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html

and placement_constraint = {
  1. type_ : string;
  2. expression : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html

and service_connect_client_alias = {
  1. dns_name : string option;
  2. port : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectclientalias.html

and deployment_alarms = {
  1. alarm_names : string list;
  2. enable : bool;
  3. rollback : bool;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentalarms.html

and deployment_circuit_breaker = {
  1. enable : bool;
  2. rollback : bool;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcircuitbreaker.html

and secret = {
  1. value_from : string;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-secret.html

and capacity_provider_strategy_item = {
  1. capacity_provider : string option;
  2. base : int option;
  3. weight : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-capacityproviderstrategyitem.html

and deployment_controller = {
  1. type_ : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html

and service_connect_tls_configuration = {
  1. issuer_certificate_authority : service_connect_tls_certificate_authority;
  2. kms_key : string option;
  3. role_arn : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttlsconfiguration.html

and deployment_configuration = {
  1. alarms : deployment_alarms option;
  2. deployment_circuit_breaker : deployment_circuit_breaker option;
  3. maximum_percent : int option;
  4. minimum_healthy_percent : int option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html

and log_configuration = {
  1. secret_options : secret list option;
  2. options : string Stdlib__Map.Make(Stdlib.String).t option;
  3. log_driver : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-logconfiguration.html

and network_configuration = {
  1. awsvpc_configuration : aws_vpc_configuration option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html

and ebs_tag_specification = {
  1. propagate_tags : string option;
  2. resource_type : string;
  3. tags : tag list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-ebstagspecification.html

and service_managed_ebs_volume_configuration = {
  1. snapshot_id : string option;
  2. volume_type : string option;
  3. kms_key_id : string option;
  4. tag_specifications : ebs_tag_specification list option;
  5. filesystem_type : string option;
  6. encrypted : bool option;
  7. throughput : int option;
  8. iops : int option;
  9. size_in_gib : int option;
  10. role_arn : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicemanagedebsvolumeconfiguration.html

and service_connect_service = {
  1. timeout : timeout_configuration option;
  2. ingress_port_override : int option;
  3. client_aliases : service_connect_client_alias list option;
  4. tls : service_connect_tls_configuration option;
  5. discovery_name : string option;
  6. port_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectservice.html

and service_connect_configuration = {
  1. services : service_connect_service list option;
  2. enabled : bool;
  3. log_configuration : log_configuration option;
  4. namespace : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectconfiguration.html

and service_volume_configuration = {
  1. managed_ebs_volume : service_managed_ebs_volume_configuration option;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicevolumeconfiguration.html

type properties = {
  1. platform_version : string option;
  2. health_check_grace_period_seconds : int option;
  3. enable_ecs_managed_tags : bool option;
  4. propagate_tags : string option;
  5. enable_execute_command : bool option;
  6. placement_constraints : placement_constraint list option;
  7. cluster : string option;
  8. load_balancers : load_balancer list option;
  9. service_connect_configuration : service_connect_configuration option;
  10. placement_strategies : placement_strategy list option;
  11. desired_count : int option;
  12. deployment_controller : deployment_controller option;
  13. service_registries : service_registry list option;
  14. volume_configurations : service_volume_configuration list option;
  15. capacity_provider_strategy : capacity_provider_strategy_item list option;
  16. launch_type : string option;
  17. role : string option;
  18. scheduling_strategy : string option;
  19. task_definition : string option;
  20. service_name : string option;
  21. network_configuration : network_configuration option;
  22. tags : tag list option;
  23. deployment_configuration : deployment_configuration option;
}

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

val make_properties : ?platform_version:string -> ?health_check_grace_period_seconds:int -> ?enable_ecs_managed_tags:bool -> ?propagate_tags:string -> ?enable_execute_command:bool -> ?placement_constraints:placement_constraint list -> ?cluster:string -> ?load_balancers:load_balancer list -> ?service_connect_configuration:service_connect_configuration -> ?placement_strategies:placement_strategy list -> ?desired_count:int -> ?deployment_controller:deployment_controller -> ?service_registries:service_registry list -> ?volume_configurations:service_volume_configuration list -> ?capacity_provider_strategy:capacity_provider_strategy_item list -> ?launch_type:string -> ?role:string -> ?scheduling_strategy:string -> ?task_definition:string -> ?service_name:string -> ?network_configuration:network_configuration -> ?tags:tag list -> ?deployment_configuration:deployment_configuration -> unit -> properties
val make_placement_strategy : ?field:string -> type_:string -> unit -> placement_strategy
val make_aws_vpc_configuration : ?security_groups:string list -> ?subnets:string list -> ?assign_public_ip:string -> unit -> aws_vpc_configuration
val make_timeout_configuration : ?per_request_timeout_seconds:int -> ?idle_timeout_seconds:int -> unit -> timeout_configuration
val make_tag : value:string -> key:string -> unit -> tag
val make_load_balancer : ?target_group_arn:string -> ?load_balancer_name:string -> ?container_name:string -> ?container_port:int -> unit -> load_balancer
val make_service_connect_tls_certificate_authority : ?aws_pca_authority_arn:string -> unit -> service_connect_tls_certificate_authority
val make_service_registry : ?container_name:string -> ?port:int -> ?container_port:int -> ?registry_arn:string -> unit -> service_registry
val make_placement_constraint : type_:string -> ?expression:string -> unit -> placement_constraint
val make_service_connect_client_alias : ?dns_name:string -> port:int -> unit -> service_connect_client_alias
val make_deployment_alarms : alarm_names:string list -> enable:bool -> rollback:bool -> unit -> deployment_alarms
val make_deployment_circuit_breaker : enable:bool -> rollback:bool -> unit -> deployment_circuit_breaker
val make_secret : value_from:string -> name:string -> unit -> secret
val make_capacity_provider_strategy_item : ?capacity_provider:string -> ?base:int -> ?weight:int -> unit -> capacity_provider_strategy_item
val make_deployment_controller : ?type_:string -> unit -> deployment_controller
val make_service_connect_tls_configuration : issuer_certificate_authority:service_connect_tls_certificate_authority -> ?kms_key:string -> ?role_arn:string -> unit -> service_connect_tls_configuration
val make_deployment_configuration : ?alarms:deployment_alarms -> ?deployment_circuit_breaker:deployment_circuit_breaker -> ?maximum_percent:int -> ?minimum_healthy_percent:int -> unit -> deployment_configuration
val make_log_configuration : ?secret_options:secret list -> ?options:string Stdlib__Map.Make(Stdlib.String).t -> ?log_driver:string -> unit -> log_configuration
val make_network_configuration : ?awsvpc_configuration:aws_vpc_configuration -> unit -> network_configuration
val make_ebs_tag_specification : ?propagate_tags:string -> resource_type:string -> ?tags:tag list -> unit -> ebs_tag_specification
val make_service_managed_ebs_volume_configuration : ?snapshot_id:string -> ?volume_type:string -> ?kms_key_id:string -> ?tag_specifications:ebs_tag_specification list -> ?filesystem_type:string -> ?encrypted:bool -> ?throughput:int -> ?iops:int -> ?size_in_gib:int -> role_arn:string -> unit -> service_managed_ebs_volume_configuration
val make_service_connect_service : ?timeout:timeout_configuration -> ?ingress_port_override:int -> ?client_aliases:service_connect_client_alias list -> ?tls:service_connect_tls_configuration -> ?discovery_name:string -> port_name:string -> unit -> service_connect_service
val make_service_connect_configuration : ?services:service_connect_service list -> enabled:bool -> ?log_configuration:log_configuration -> ?namespace:string -> unit -> service_connect_configuration
val make_service_volume_configuration : ?managed_ebs_volume:service_managed_ebs_volume_configuration -> name:string -> unit -> service_volume_configuration
val yojson_of_placement_strategy : placement_strategy -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_aws_vpc_configuration : aws_vpc_configuration -> Yojson.Safe.t
val yojson_of_timeout_configuration : timeout_configuration -> Yojson.Safe.t
val yojson_of_tag : tag -> Yojson.Safe.t
val yojson_of_load_balancer : load_balancer -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_service_connect_tls_certificate_authority : service_connect_tls_certificate_authority -> Yojson.Safe.t
val yojson_of_service_registry : service_registry -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_placement_constraint : placement_constraint -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_service_connect_client_alias : service_connect_client_alias -> Yojson.Safe.t
val yojson_of_deployment_alarms : deployment_alarms -> Yojson.Safe.t
val yojson_of_deployment_circuit_breaker : deployment_circuit_breaker -> Yojson.Safe.t
val yojson_of_secret : secret -> Yojson.Safe.t
val yojson_of_capacity_provider_strategy_item : capacity_provider_strategy_item -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_deployment_controller : deployment_controller -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_service_connect_tls_configuration : service_connect_tls_configuration -> Yojson.Safe.t
val yojson_of_deployment_configuration : deployment_configuration -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_log_configuration : log_configuration -> Yojson.Safe.t
val yojson_of_network_configuration : network_configuration -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_ebs_tag_specification : ebs_tag_specification -> Yojson.Safe.t
val yojson_of_service_managed_ebs_volume_configuration : service_managed_ebs_volume_configuration -> Yojson.Safe.t
val yojson_of_service_connect_service : service_connect_service -> Yojson.Safe.t
val yojson_of_service_connect_configuration : service_connect_configuration -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_service_volume_configuration : service_volume_configuration -> [> `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. service_arn : string;
  3. name : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string