Module Smaws_Client_DAX.Types

type nonrec string_ = string
type nonrec subnet = {
  1. subnet_availability_zone : string_ option;
    (*

    The Availability Zone (AZ) for the subnet.

    *)
  2. subnet_identifier : string_ option;
    (*

    The system-assigned identifier for the subnet.

    *)
}

Represents the subnet associated with a DAX cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with DAX.

type nonrec subnet_list = subnet list
type nonrec subnet_group = {
  1. subnets : subnet_list option;
    (*

    A list of subnets associated with the subnet group.

    *)
  2. vpc_id : string_ option;
    (*

    The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

    *)
  3. description : string_ option;
    (*

    The description of the subnet group.

    *)
  4. subnet_group_name : string_ option;
    (*

    The name of the subnet group.

    *)
}

Represents the output of one of the following actions:

  • CreateSubnetGroup
  • ModifySubnetGroup
type nonrec update_subnet_group_response = {
  1. subnet_group : subnet_group option;
    (*

    The subnet group that has been modified.

    *)
}
type nonrec subnet_identifier_list = string_ list
type nonrec update_subnet_group_request = {
  1. subnet_ids : subnet_identifier_list option;
    (*

    A list of subnet IDs in the subnet group.

    *)
  2. description : string_ option;
    (*

    A description of the subnet group.

    *)
  3. subnet_group_name : string_;
    (*

    The name of the subnet group.

    *)
}
type nonrec exception_message = string
type nonrec subnet_quota_exceeded_fault = {
  1. message : exception_message option;
}

The request cannot be processed because it would exceed the allowed number of subnets in a subnet group.

type nonrec subnet_in_use = {
  1. message : exception_message option;
}

The requested subnet is being used by another subnet group.

type nonrec subnet_group_not_found_fault = {
  1. message : exception_message option;
}

The requested subnet group name does not refer to an existing subnet group.

type nonrec service_linked_role_not_found_fault = {
  1. message : exception_message option;
}

The specified service linked role (SLR) was not found.

type nonrec invalid_subnet = {
  1. message : exception_message option;
}

An invalid subnet identifier was specified.

type nonrec parameter_group = {
  1. description : string_ option;
    (*

    A description of the parameter group.

    *)
  2. parameter_group_name : string_ option;
    (*

    The name of the parameter group.

    *)
}

A named set of parameters that are applied to all of the nodes in a DAX cluster.

type nonrec update_parameter_group_response = {
  1. parameter_group : parameter_group option;
    (*

    The parameter group that has been modified.

    *)
}
type nonrec parameter_name_value = {
  1. parameter_value : string_ option;
    (*

    The value of the parameter.

    *)
  2. parameter_name : string_ option;
    (*

    The name of the parameter.

    *)
}

An individual DAX parameter.

type nonrec parameter_name_value_list = parameter_name_value list
type nonrec update_parameter_group_request = {
  1. parameter_name_values : parameter_name_value_list;
    (*

    An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.

    record-ttl-millis and query-ttl-millis are the only supported parameter names. For more details, see Configuring TTL Settings.

    *)
  2. parameter_group_name : string_;
    (*

    The name of the parameter group.

    *)
}
type nonrec parameter_group_not_found_fault = {
  1. message : exception_message option;
}

The specified parameter group does not exist.

type nonrec aws_query_error_message = string
type nonrec invalid_parameter_value_exception = {
  1. message : aws_query_error_message option;
}

The value for a parameter is invalid.

type nonrec invalid_parameter_group_state_fault = {
  1. message : exception_message option;
}

One or more parameters in a parameter group are in an invalid state.

type nonrec invalid_parameter_combination_exception = {
  1. message : aws_query_error_message option;
}

Two or more incompatible parameters were specified.

type nonrec integer_optional = int
type nonrec integer = int
type nonrec endpoint = {
  1. ur_l : string_ option;
    (*

    The URL that applications should use to connect to the endpoint. The default ports are 8111 for the "dax" protocol and 9111 for the "daxs" protocol.

    *)
  2. port : integer option;
    (*

    The port number that applications should use to connect to the endpoint.

    *)
  3. address : string_ option;
    (*

    The DNS hostname of the endpoint.

    *)
}

Represents the information required for client programs to connect to the endpoint for a DAX cluster.

type nonrec node_identifier_list = string_ list
type nonrec t_stamp = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec node = {
  1. parameter_group_status : string_ option;
    (*

    The status of the parameter group associated with this node. For example, in-sync.

    *)
  2. node_status : string_ option;
    (*

    The current status of the node. For example: available.

    *)
  3. availability_zone : string_ option;
    (*

    The Availability Zone (AZ) in which the node has been deployed.

    *)
  4. node_create_time : t_stamp option;
    (*

    The date and time (in UNIX epoch format) when the node was launched.

    *)
  5. endpoint : endpoint option;
    (*

    The endpoint for the node, consisting of a DNS name and a port number. Client applications can connect directly to a node endpoint, if desired (as an alternative to allowing DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

    *)
  6. node_id : string_ option;
    (*

    A system-generated identifier for the node.

    *)
}

Represents an individual node within a DAX cluster.

type nonrec node_list = node list
type nonrec notification_configuration = {
  1. topic_status : string_ option;
    (*

    The current state of the topic. A value of “active” means that notifications will be sent to the topic. A value of “inactive” means that notifications will not be sent to the topic.

    *)
  2. topic_arn : string_ option;
    (*

    The Amazon Resource Name (ARN) that identifies the topic.

    *)
}

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

type nonrec security_group_membership = {
  1. status : string_ option;
    (*

    The status of this security group.

    *)
  2. security_group_identifier : string_ option;
    (*

    The unique ID for this security group.

    *)
}

An individual VPC security group and its status.

type nonrec security_group_membership_list = security_group_membership list
type nonrec parameter_group_status = {
  1. node_ids_to_reboot : node_identifier_list option;
    (*

    The node IDs of one or more nodes to be rebooted.

    *)
  2. parameter_apply_status : string_ option;
    (*

    The status of parameter updates.

    *)
  3. parameter_group_name : string_ option;
    (*

    The name of the parameter group.

    *)
}

The status of a parameter group.

type nonrec sse_status =
  1. | DISABLED
  2. | DISABLING
  3. | ENABLED
  4. | ENABLING
type nonrec sse_description = {
  1. status : sse_status option;
    (*

    The current state of server-side encryption:

    • ENABLING - Server-side encryption is being enabled.
    • ENABLED - Server-side encryption is enabled.
    • DISABLING - Server-side encryption is being disabled.
    • DISABLED - Server-side encryption is disabled.
    *)
}

The description of the server-side encryption status on the specified DAX cluster.

type nonrec cluster_endpoint_encryption_type =
  1. | TLS
  2. | NONE
type nonrec cluster = {
  1. cluster_endpoint_encryption_type : cluster_endpoint_encryption_type option;
    (*

    The type of encryption supported by the cluster's endpoint. Values are:

    • NONE for no encryption

      TLS for Transport Layer Security

    *)
  2. sse_description : sse_description option;
    (*

    The description of the server-side encryption status on the specified DAX cluster.

    *)
  3. parameter_group : parameter_group_status option;
    (*

    The parameter group being used by nodes in the cluster.

    *)
  4. iam_role_arn : string_ option;
    (*

    A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

    *)
  5. security_groups : security_group_membership_list option;
    (*

    A list of security groups, and the status of each, for the nodes in the cluster.

    *)
  6. subnet_group : string_ option;
    (*

    The subnet group where the DAX cluster is running.

    *)
  7. notification_configuration : notification_configuration option;
    (*

    Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

    *)
  8. preferred_maintenance_window : string_ option;
    (*

    A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

    *)
  9. nodes : node_list option;
    (*

    A list of nodes that are currently in the cluster.

    *)
  10. node_ids_to_remove : node_identifier_list option;
    (*

    A list of nodes to be removed from the cluster.

    *)
  11. cluster_discovery_endpoint : endpoint option;
    (*

    The endpoint for this DAX cluster, consisting of a DNS name, a port number, and a URL. Applications should use the URL to configure the DAX client to find their cluster.

    *)
  12. status : string_ option;
    (*

    The current status of the cluster.

    *)
  13. node_type : string_ option;
    (*

    The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

    *)
  14. active_nodes : integer_optional option;
    (*

    The number of nodes in the cluster that are active (i.e., capable of serving requests).

    *)
  15. total_nodes : integer_optional option;
    (*

    The total number of nodes in the cluster.

    *)
  16. cluster_arn : string_ option;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the cluster.

    *)
  17. description : string_ option;
    (*

    The description of the cluster.

    *)
  18. cluster_name : string_ option;
    (*

    The name of the DAX cluster.

    *)
}

Contains all of the attributes of a specific DAX cluster.

type nonrec update_cluster_response = {
  1. cluster : cluster option;
    (*

    A description of the DAX cluster, after it has been modified.

    *)
}
type nonrec security_group_identifier_list = string_ list
type nonrec update_cluster_request = {
  1. security_group_ids : security_group_identifier_list option;
    (*

    A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not specified, DAX assigns the default VPC security group to each node.

    *)
  2. parameter_group_name : string_ option;
    (*

    The name of a parameter group for this cluster.

    *)
  3. notification_topic_status : string_ option;
    (*

    The current state of the topic. A value of “active” means that notifications will be sent to the topic. A value of “inactive” means that notifications will not be sent to the topic.

    *)
  4. notification_topic_arn : string_ option;
    (*

    The Amazon Resource Name (ARN) that identifies the topic.

    *)
  5. preferred_maintenance_window : string_ option;
    (*

    A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

    *)
  6. description : string_ option;
    (*

    A description of the changes being made to the cluster.

    *)
  7. cluster_name : string_;
    (*

    The name of the DAX cluster to be modified.

    *)
}
type nonrec invalid_cluster_state_fault = {
  1. message : exception_message option;
}

The requested DAX cluster is not in the available state.

type nonrec cluster_not_found_fault = {
  1. message : exception_message option;
}

The requested cluster ID does not refer to an existing DAX cluster.

type nonrec tag = {
  1. value : string_ option;
    (*

    The value of the tag. Tag values are case-sensitive and can be null.

    *)
  2. key : string_ option;
    (*

    The key for the tag. Tag keys are case sensitive. Every DAX cluster can only have one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

    *)
}

A description of a tag. Every tag is a key-value pair. You can add up to 50 tags to a single DAX cluster.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user:.

You cannot backdate the application of a tag.

type nonrec tag_list = tag list
type nonrec untag_resource_response = {
  1. tags : tag_list option;
    (*

    The tag keys that have been removed from the cluster.

    *)
}
type nonrec key_list = string_ list
type nonrec untag_resource_request = {
  1. tag_keys : key_list;
    (*

    A list of tag keys. If the DAX cluster has any tags with these keys, then the tags are removed from the cluster.

    *)
  2. resource_name : string_;
    (*

    The name of the DAX resource from which the tags should be removed.

    *)
}
type nonrec tag_not_found_fault = {
  1. message : exception_message option;
}

The tag does not exist.

type nonrec invalid_arn_fault = {
  1. message : exception_message option;
}

The Amazon Resource Name (ARN) supplied in the request is not valid.

type nonrec tag_resource_response = {
  1. tags : tag_list option;
    (*

    The list of tags that are associated with the DAX resource.

    *)
}
type nonrec tag_resource_request = {
  1. tags : tag_list;
    (*

    The tags to be assigned to the DAX resource.

    *)
  2. resource_name : string_;
    (*

    The name of the DAX resource to which tags should be added.

    *)
}
type nonrec tag_quota_per_resource_exceeded = {
  1. message : exception_message option;
}

You have exceeded the maximum number of tags for this DAX cluster.

type nonrec subnet_group_quota_exceeded_fault = {
  1. message : exception_message option;
}

The request cannot be processed because it would exceed the allowed number of subnets in a subnet group.

type nonrec subnet_group_name_list = string_ list
type nonrec subnet_group_list = subnet_group list
type nonrec subnet_group_in_use_fault = {
  1. message : exception_message option;
}

The specified subnet group is currently in use.

type nonrec subnet_group_already_exists_fault = {
  1. message : exception_message option;
}

The specified subnet group already exists.

type nonrec source_type =
  1. | SUBNET_GROUP
  2. | PARAMETER_GROUP
  3. | CLUSTER
type nonrec service_quota_exceeded_exception = unit
type nonrec sse_enabled = bool
type nonrec sse_specification = {
  1. enabled : sse_enabled;
    (*

    Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.

    *)
}

Represents the settings used to enable server-side encryption.

type nonrec reboot_node_response = {
  1. cluster : cluster option;
    (*

    A description of the DAX cluster after a node has been rebooted.

    *)
}
type nonrec reboot_node_request = {
  1. node_id : string_;
    (*

    The system-assigned ID of the node to be rebooted.

    *)
  2. cluster_name : string_;
    (*

    The name of the DAX cluster containing the node to be rebooted.

    *)
}
type nonrec node_not_found_fault = {
  1. message : exception_message option;
}

None of the nodes in the cluster have the given node ID.

type nonrec parameter_type =
  1. | NODE_TYPE_SPECIFIC
  2. | DEFAULT
type nonrec node_type_specific_value = {
  1. value : string_ option;
    (*

    The parameter value for this node type.

    *)
  2. node_type : string_ option;
    (*

    A node type to which the parameter value applies.

    *)
}

Represents a parameter value that is applicable to a particular node type.

type nonrec node_type_specific_value_list = node_type_specific_value list
type nonrec is_modifiable =
  1. | CONDITIONAL
  2. | FALSE
  3. | TRUE
type nonrec change_type =
  1. | REQUIRES_REBOOT
  2. | IMMEDIATE
type nonrec parameter = {
  1. change_type : change_type option;
    (*

    The conditions under which changes to this parameter can be applied. For example, requires-reboot indicates that a new value for this parameter will only take effect if a node is rebooted.

    *)
  2. is_modifiable : is_modifiable option;
    (*

    Whether the customer is allowed to modify the parameter.

    *)
  3. allowed_values : string_ option;
    (*

    A range of values within which the parameter can be set.

    *)
  4. data_type : string_ option;
    (*

    The data type of the parameter. For example, integer:

    *)
  5. source : string_ option;
    (*

    How the parameter is defined. For example, system denotes a system-defined parameter.

    *)
  6. description : string_ option;
    (*

    A description of the parameter

    *)
  7. node_type_specific_values : node_type_specific_value_list option;
    (*

    A list of node types, and specific parameter values for each node.

    *)
  8. parameter_value : string_ option;
    (*

    The value for the parameter.

    *)
  9. parameter_type : parameter_type option;
    (*

    Determines whether the parameter can be applied to any nodes, or only nodes of a particular type.

    *)
  10. parameter_name : string_ option;
    (*

    The name of the parameter.

    *)
}

Describes an individual setting that controls some aspect of DAX behavior.

type nonrec parameter_list = parameter list
type nonrec parameter_group_quota_exceeded_fault = {
  1. message : exception_message option;
}

You have attempted to exceed the maximum number of parameter groups.

type nonrec parameter_group_name_list = string_ list
type nonrec parameter_group_list = parameter_group list
type nonrec parameter_group_already_exists_fault = {
  1. message : exception_message option;
}

The specified parameter group already exists.

type nonrec node_quota_for_customer_exceeded_fault = {
  1. message : exception_message option;
}

You have attempted to exceed the maximum number of nodes for your AWS account.

type nonrec node_quota_for_cluster_exceeded_fault = {
  1. message : exception_message option;
}

You have attempted to exceed the maximum number of nodes for a DAX cluster.

type nonrec list_tags_response = {
  1. next_token : string_ option;
    (*

    If this value is present, there are additional results to be displayed. To retrieve them, call ListTags again, with NextToken set to this value.

    *)
  2. tags : tag_list option;
    (*

    A list of tags currently associated with the DAX cluster.

    *)
}
type nonrec list_tags_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token.

    *)
  2. resource_name : string_;
    (*

    The name of the DAX resource to which the tags belong.

    *)
}
type nonrec invalid_vpc_network_state_fault = {
  1. message : exception_message option;
}

The VPC network is in an invalid state.

type nonrec insufficient_cluster_capacity_fault = {
  1. message : exception_message option;
}

There are not enough system resources to create the cluster you requested (or to resize an already-existing cluster).

type nonrec increase_replication_factor_response = {
  1. cluster : cluster option;
    (*

    A description of the DAX cluster. with its new replication factor.

    *)
}
type nonrec availability_zone_list = string_ list
type nonrec increase_replication_factor_request = {
  1. availability_zones : availability_zone_list option;
    (*

    The Availability Zones (AZs) in which the cluster nodes will be created. All nodes belonging to the cluster are placed in these Availability Zones. Use this parameter if you want to distribute the nodes across multiple AZs.

    *)
  2. new_replication_factor : integer;
    (*

    The new number of nodes for the DAX cluster.

    *)
  3. cluster_name : string_;
    (*

    The name of the DAX cluster that will receive additional nodes.

    *)
}
type nonrec event = {
  1. date : t_stamp option;
    (*

    The date and time when the event occurred.

    *)
  2. message : string_ option;
    (*

    A user-defined message associated with the event.

    *)
  3. source_type : source_type option;
    (*

    Specifies the origin of this event - a cluster, a parameter group, a node ID, etc.

    *)
  4. source_name : string_ option;
    (*

    The source of the event. For example, if the event occurred at the node level, the source would be the node ID.

    *)
}

Represents a single occurrence of something interesting within the system. Some examples of events are creating a DAX cluster, adding or removing a node, or rebooting a node.

type nonrec event_list = event list
type nonrec describe_subnet_groups_response = {
  1. subnet_groups : subnet_group_list option;
    (*

    An array of subnet groups. Each element in the array represents a single subnet group.

    *)
  2. next_token : string_ option;
    (*

    Provides an identifier to allow retrieval of paginated results.

    *)
}
type nonrec describe_subnet_groups_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    *)
  2. max_results : integer_optional option;
    (*

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

    The value for MaxResults must be between 20 and 100.

    *)
  3. subnet_group_names : subnet_group_name_list option;
    (*

    The name of the subnet group.

    *)
}
type nonrec describe_parameters_response = {
  1. parameters : parameter_list option;
    (*

    A list of parameters within a parameter group. Each element in the list represents one parameter.

    *)
  2. next_token : string_ option;
    (*

    Provides an identifier to allow retrieval of paginated results.

    *)
}
type nonrec describe_parameters_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    *)
  2. max_results : integer_optional option;
    (*

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

    The value for MaxResults must be between 20 and 100.

    *)
  3. source : string_ option;
    (*

    How the parameter is defined. For example, system denotes a system-defined parameter.

    *)
  4. parameter_group_name : string_;
    (*

    The name of the parameter group.

    *)
}
type nonrec describe_parameter_groups_response = {
  1. parameter_groups : parameter_group_list option;
    (*

    An array of parameter groups. Each element in the array represents one parameter group.

    *)
  2. next_token : string_ option;
    (*

    Provides an identifier to allow retrieval of paginated results.

    *)
}
type nonrec describe_parameter_groups_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    *)
  2. max_results : integer_optional option;
    (*

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

    The value for MaxResults must be between 20 and 100.

    *)
  3. parameter_group_names : parameter_group_name_list option;
    (*

    The names of the parameter groups.

    *)
}
type nonrec describe_events_response = {
  1. events : event_list option;
    (*

    An array of events. Each element in the array represents one event.

    *)
  2. next_token : string_ option;
    (*

    Provides an identifier to allow retrieval of paginated results.

    *)
}
type nonrec describe_events_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    *)
  2. max_results : integer_optional option;
    (*

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

    The value for MaxResults must be between 20 and 100.

    *)
  3. duration : integer_optional option;
    (*

    The number of minutes' worth of events to retrieve.

    *)
  4. end_time : t_stamp option;
    (*

    The end of the time interval for which to retrieve events, specified in ISO 8601 format.

    *)
  5. start_time : t_stamp option;
    (*

    The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

    *)
  6. source_type : source_type option;
    (*

    The event source to retrieve events for. If no value is specified, all events are returned.

    *)
  7. source_name : string_ option;
    (*

    The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.

    *)
}
type nonrec describe_default_parameters_response = {
  1. parameters : parameter_list option;
    (*

    A list of parameters. Each element in the list represents one parameter.

    *)
  2. next_token : string_ option;
    (*

    Provides an identifier to allow retrieval of paginated results.

    *)
}
type nonrec describe_default_parameters_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    *)
  2. max_results : integer_optional option;
    (*

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

    The value for MaxResults must be between 20 and 100.

    *)
}
type nonrec cluster_list = cluster list
type nonrec describe_clusters_response = {
  1. clusters : cluster_list option;
    (*

    The descriptions of your DAX clusters, in response to a DescribeClusters request.

    *)
  2. next_token : string_ option;
    (*

    Provides an identifier to allow retrieval of paginated results.

    *)
}
type nonrec cluster_name_list = string_ list
type nonrec describe_clusters_request = {
  1. next_token : string_ option;
    (*

    An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

    *)
  2. max_results : integer_optional option;
    (*

    The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

    The value for MaxResults must be between 20 and 100.

    *)
  3. cluster_names : cluster_name_list option;
    (*

    The names of the DAX clusters being described.

    *)
}
type nonrec delete_subnet_group_response = {
  1. deletion_message : string_ option;
    (*

    A user-specified message for this action (i.e., a reason for deleting the subnet group).

    *)
}
type nonrec delete_subnet_group_request = {
  1. subnet_group_name : string_;
    (*

    The name of the subnet group to delete.

    *)
}
type nonrec delete_parameter_group_response = {
  1. deletion_message : string_ option;
    (*

    A user-specified message for this action (i.e., a reason for deleting the parameter group).

    *)
}
type nonrec delete_parameter_group_request = {
  1. parameter_group_name : string_;
    (*

    The name of the parameter group to delete.

    *)
}
type nonrec delete_cluster_response = {
  1. cluster : cluster option;
    (*

    A description of the DAX cluster that is being deleted.

    *)
}
type nonrec delete_cluster_request = {
  1. cluster_name : string_;
    (*

    The name of the cluster to be deleted.

    *)
}
type nonrec decrease_replication_factor_response = {
  1. cluster : cluster option;
    (*

    A description of the DAX cluster, after you have decreased its replication factor.

    *)
}
type nonrec decrease_replication_factor_request = {
  1. node_ids_to_remove : node_identifier_list option;
    (*

    The unique identifiers of the nodes to be removed from the cluster.

    *)
  2. availability_zones : availability_zone_list option;
    (*

    The Availability Zone(s) from which to remove nodes.

    *)
  3. new_replication_factor : integer;
    (*

    The new number of nodes for the DAX cluster.

    *)
  4. cluster_name : string_;
    (*

    The name of the DAX cluster from which you want to remove nodes.

    *)
}
type nonrec create_subnet_group_response = {
  1. subnet_group : subnet_group option;
    (*

    Represents the output of a CreateSubnetGroup operation.

    *)
}
type nonrec create_subnet_group_request = {
  1. subnet_ids : subnet_identifier_list;
    (*

    A list of VPC subnet IDs for the subnet group.

    *)
  2. description : string_ option;
    (*

    A description for the subnet group

    *)
  3. subnet_group_name : string_;
    (*

    A name for the subnet group. This value is stored as a lowercase string.

    *)
}
type nonrec create_parameter_group_response = {
  1. parameter_group : parameter_group option;
    (*

    Represents the output of a CreateParameterGroup action.

    *)
}
type nonrec create_parameter_group_request = {
  1. description : string_ option;
    (*

    A description of the parameter group.

    *)
  2. parameter_group_name : string_;
    (*

    The name of the parameter group to apply to all of the clusters in this replication group.

    *)
}
type nonrec create_cluster_response = {
  1. cluster : cluster option;
    (*

    A description of the DAX cluster that you have created.

    *)
}
type nonrec create_cluster_request = {
  1. cluster_endpoint_encryption_type : cluster_endpoint_encryption_type option;
    (*

    The type of encryption the cluster's endpoint should support. Values are:

    • NONE for no encryption
    • TLS for Transport Layer Security
    *)
  2. sse_specification : sse_specification option;
    (*

    Represents the settings used to enable server-side encryption on the cluster.

    *)
  3. tags : tag_list option;
    (*

    A set of tags to associate with the DAX cluster.

    *)
  4. parameter_group_name : string_ option;
    (*

    The parameter group to be associated with the DAX cluster.

    *)
  5. iam_role_arn : string_;
    (*

    A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

    *)
  6. notification_topic_arn : string_ option;
    (*

    The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

    The Amazon SNS topic owner must be same as the DAX cluster owner.

    *)
  7. preferred_maintenance_window : string_ option;
    (*

    Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

    • sun
    • mon
    • tue
    • wed
    • thu
    • fri
    • sat

    Example: sun:05:00-sun:09:00

    If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a 60-minute maintenance window on a randomly selected day of the week.

    *)
  8. security_group_ids : security_group_identifier_list option;
    (*

    A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)

    If this parameter is not specified, DAX assigns the default VPC security group to each node.

    *)
  9. subnet_group_name : string_ option;
    (*

    The name of the subnet group to be used for the replication group.

    DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.

    *)
  10. availability_zones : availability_zone_list option;
    (*

    The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.

    *)
  11. replication_factor : integer;
    (*

    The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is provided, its length must equal the ReplicationFactor.

    AWS recommends that you have at least two read replicas per cluster.

    *)
  12. description : string_ option;
    (*

    A description of the cluster.

    *)
  13. node_type : string_;
    (*

    The compute and memory capacity of the nodes in the cluster.

    *)
  14. cluster_name : string_;
    (*

    The cluster identifier. This parameter is stored as a lowercase string.

    Constraints:

    • A name must contain from 1 to 20 alphanumeric characters or hyphens.
    • The first character must be a letter.
    • A name cannot end with a hyphen or contain two consecutive hyphens.
    *)
}
type nonrec cluster_quota_for_customer_exceeded_fault = {
  1. message : exception_message option;
}

You have attempted to exceed the maximum number of DAX clusters for your AWS account.

type nonrec cluster_already_exists_fault = {
  1. message : exception_message option;
}

You already have a DAX cluster with the given identifier.