/* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*/
/*
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*
*  Licensed to Elasticsearch B.V. under one or more contributor
*  license agreements. See the NOTICE file distributed with
*  this work for additional information regarding copyright
*  ownership. Elasticsearch B.V. licenses this file to you under
*  the Apache License, Version 2.0 (the "License"); you may
*  not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
* 	http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing,
*  software distributed under the License is distributed on an
*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
*  KIND, either express or implied.  See the License for the
*  specific language governing permissions and limitations
*  under the License.
*/
// ███╗   ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║   ██║   ██║   ██║██║     █████╗  
// ██║╚██╗██║██║   ██║   ██║   ██║██║     ██╔══╝  
// ██║ ╚████║╚██████╔╝   ██║   ██║╚██████╗███████╗
// ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝ ╚═════╝╚══════╝
// -----------------------------------------------
//  
// This file is automatically generated 
// Please do not edit these files manually
// Run the following in the root of the repos:
//
// 		*NIX 		:	./build.sh codegen
// 		Windows 	:	build.bat codegen
//
// -----------------------------------------------
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
// ReSharper disable once CheckNamespace
namespace OpenSearch.Net.Specification.IngestApi
{
	///Request options for DeletePipeline 
	public class DeletePipelineRequestParameters : RequestParameters
	{
		public override HttpMethod DefaultHttpMethod => HttpMethod.DELETE;
		public override bool SupportsBody => false;
		///Explicit operation timeout for connection to master node
		///Deprecated as of OpenSearch 2.0, use  instead
		public TimeSpan MasterTimeSpanout
		{
			get => Q("master_timeout");
			set => Q("master_timeout", value);
		}
		///Explicit operation timeout for connection to cluster_manager node
		///Introduced in OpenSearch 2.0 instead of 
		public TimeSpan ClusterManagerTimeSpanout
		{
			get => Q("cluster_manager_timeout");
			set => Q("cluster_manager_timeout", value);
		}
		///Explicit operation timeout
		public TimeSpan Timeout
		{
			get => Q("timeout");
			set => Q("timeout", value);
		}
	}
	///Request options for GetPipeline 
	public class GetPipelineRequestParameters : RequestParameters
	{
		public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
		public override bool SupportsBody => false;
		///Explicit operation timeout for connection to master node
		///Deprecated as of OpenSearch 2.0, use  instead
		public TimeSpan MasterTimeSpanout
		{
			get => Q("master_timeout");
			set => Q("master_timeout", value);
		}
		///Explicit operation timeout for connection to cluster_manager node
		///Introduced in OpenSearch 2.0 instead of 
		public TimeSpan ClusterManagerTimeSpanout
		{
			get => Q("cluster_manager_timeout");
			set => Q("cluster_manager_timeout", value);
		}
	}
	///Request options for GrokProcessorPatterns 
	public class GrokProcessorPatternsRequestParameters : RequestParameters
	{
		public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
		public override bool SupportsBody => false;
	}
	///Request options for PutPipeline 
	public class PutPipelineRequestParameters : RequestParameters
	{
		public override HttpMethod DefaultHttpMethod => HttpMethod.PUT;
		public override bool SupportsBody => true;
		///Explicit operation timeout for connection to master node
		///Deprecated as of OpenSearch 2.0, use  instead
		public TimeSpan MasterTimeSpanout
		{
			get => Q("master_timeout");
			set => Q("master_timeout", value);
		}
		///Explicit operation timeout for connection to cluster_manager node
		///Introduced in OpenSearch 2.0 instead of 
		public TimeSpan ClusterManagerTimeSpanout
		{
			get => Q("cluster_manager_timeout");
			set => Q("cluster_manager_timeout", value);
		}
		///Explicit operation timeout
		public TimeSpan Timeout
		{
			get => Q("timeout");
			set => Q("timeout", value);
		}
	}
	///Request options for SimulatePipeline 
	public class SimulatePipelineRequestParameters : RequestParameters
	{
		public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
		public override bool SupportsBody => true;
		///Verbose mode. Display data output for each processor in executed pipeline
		public bool? Verbose
		{
			get => Q("verbose");
			set => Q("verbose", value);
		}
	}
}