///<summary>Limit the information returned to the specified metrics</summary>
 public NodesUsageDescriptor Metric(Metrics metric) => Assign(metric, (a, v) => a.RouteValues.Optional("metric", v));
 ///<summary>/_nodes/{node_id}/usage/{metric}</summary>
 ///<param name = "nodeId">Optional, accepts null</param>
 ///<param name = "metric">Optional, accepts null</param>
 public NodesUsageDescriptor(NodeIds nodeId, Metrics metric) : base(r => r.Optional("node_id", nodeId).Optional("metric", metric))
 {
 }
 ///<summary>/_nodes/{node_id}/stats/{metric}/{index_metric}</summary>
 ///<param name = "nodeId">Optional, accepts null</param>
 ///<param name = "metric">Optional, accepts null</param>
 ///<param name = "indexMetric">Optional, accepts null</param>
 public NodesStatsDescriptor(NodeIds nodeId, Metrics metric, IndexMetrics indexMetric) : base(r => r.Optional("node_id", nodeId).Optional("metric", metric).Optional("index_metric", indexMetric))
 {
 }
 ///<summary>/_nodes/usage/{metric}</summary>
 ///<param name = "metric">Optional, accepts null</param>
 public NodesUsageDescriptor(Metrics metric) : base(r => r.Optional("metric", metric))
 {
 }
 ///<summary>/_nodes/stats/{metric}/{index_metric}</summary>
 ///<param name = "metric">Optional, accepts null</param>
 ///<param name = "indexMetric">Optional, accepts null</param>
 public NodesStatsDescriptor(Metrics metric, IndexMetrics indexMetric) : base(r => r.Optional("metric", metric).Optional("index_metric", indexMetric))
 {
 }