Module AppSync.GraphQLApi

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html

type log_config = {
  1. cloud_watch_logs_role_arn : string option;
  2. exclude_verbose_content : bool option;
  3. field_log_level : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html

and cognito_user_pool_config = {
  1. app_id_client_regex : string option;
  2. user_pool_id : string option;
  3. aws_region : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html

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

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

and enhanced_metrics_config = {
  1. operation_level_metrics_config : string;
  2. resolver_level_metrics_behavior : string;
  3. data_source_level_metrics_behavior : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-enhancedmetricsconfig.html

and open_id_connect_config = {
  1. issuer : string option;
  2. client_id : string option;
  3. auth_ttl : float option;
  4. iat_ttl : float option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html

and user_pool_config = {
  1. app_id_client_regex : string option;
  2. user_pool_id : string option;
  3. aws_region : string option;
  4. default_action : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html

and lambda_authorizer_config = {
  1. identity_validation_expression : string option;
  2. authorizer_uri : string option;
  3. authorizer_result_ttl_in_seconds : float option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html

and additional_authentication_provider = {
  1. open_id_connect_config : open_id_connect_config option;
  2. lambda_authorizer_config : lambda_authorizer_config option;
  3. user_pool_config : cognito_user_pool_config option;
  4. authentication_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html

type properties = {
  1. query_depth_limit : int option;
  2. open_id_connect_config : open_id_connect_config option;
  3. introspection_config : string option;
  4. merged_api_execution_role_arn : string option;
  5. enhanced_metrics_config : enhanced_metrics_config option;
  6. owner_contact : string option;
  7. resolver_count_limit : int option;
  8. name : string;
  9. additional_authentication_providers : additional_authentication_provider list option;
  10. environment_variables : Yojson.Safe.t option;
  11. api_type : string option;
  12. lambda_authorizer_config : lambda_authorizer_config option;
  13. xray_enabled : bool option;
  14. visibility : string option;
  15. user_pool_config : user_pool_config option;
  16. tags : tag list option;
  17. authentication_type : string;
  18. log_config : log_config option;
}

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

val make_properties : ?query_depth_limit:int -> ?open_id_connect_config:open_id_connect_config -> ?introspection_config:string -> ?merged_api_execution_role_arn:string -> ?enhanced_metrics_config:enhanced_metrics_config -> ?owner_contact:string -> ?resolver_count_limit:int -> name:string -> ?additional_authentication_providers:additional_authentication_provider list -> ?environment_variables:Yojson.Safe.t -> ?api_type:string -> ?lambda_authorizer_config:lambda_authorizer_config -> ?xray_enabled:bool -> ?visibility:string -> ?user_pool_config:user_pool_config -> ?tags:tag list -> authentication_type:string -> ?log_config:log_config -> unit -> properties
val make_log_config : ?cloud_watch_logs_role_arn:string -> ?exclude_verbose_content:bool -> ?field_log_level:string -> unit -> log_config
val make_cognito_user_pool_config : ?app_id_client_regex:string -> ?user_pool_id:string -> ?aws_region:string -> unit -> cognito_user_pool_config
val make_tag : key:string -> value:string -> unit -> tag
val make_enhanced_metrics_config : operation_level_metrics_config:string -> resolver_level_metrics_behavior:string -> data_source_level_metrics_behavior:string -> unit -> enhanced_metrics_config
val make_open_id_connect_config : ?issuer:string -> ?client_id:string -> ?auth_ttl:float -> ?iat_ttl:float -> unit -> open_id_connect_config
val make_user_pool_config : ?app_id_client_regex:string -> ?user_pool_id:string -> ?aws_region:string -> ?default_action:string -> unit -> user_pool_config
val make_lambda_authorizer_config : ?identity_validation_expression:string -> ?authorizer_uri:string -> ?authorizer_result_ttl_in_seconds:float -> unit -> lambda_authorizer_config
val make_additional_authentication_provider : ?open_id_connect_config:open_id_connect_config -> ?lambda_authorizer_config:lambda_authorizer_config -> ?user_pool_config:cognito_user_pool_config -> authentication_type:string -> unit -> additional_authentication_provider
val yojson_of_log_config : log_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_cognito_user_pool_config : cognito_user_pool_config -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_enhanced_metrics_config : enhanced_metrics_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_open_id_connect_config : open_id_connect_config -> Yojson.Safe.t
val yojson_of_user_pool_config : user_pool_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_lambda_authorizer_config : lambda_authorizer_config -> Yojson.Safe.t
val yojson_of_additional_authentication_provider : additional_authentication_provider -> [> `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. realtime_url : string;
  3. graph_ql_url : string;
  4. graph_ql_dns : string;
  5. realtime_dns : string;
  6. arn : string;
  7. api_id : string;
  8. graph_ql_endpoint_arn : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string