From 2cfe4dca959f294bcb04c3499b119f35d55dabd4 Mon Sep 17 00:00:00 2001 From: Mpdreamz Date: Tue, 29 Jun 2021 14:14:55 +0000 Subject: [PATCH] [codegen] master synchronization --- .../Core/ilm.migrate_to_data_tiers.json | 34 +++++++++ .../RestSpecification/Core/ml.put_job.json | 25 +++++++ .../Core/security.enroll_kibana.json | 24 +++++++ .../Core/security.enroll_node.json | 2 +- .../Core/security.saml_authenticate.json | 28 ++++++++ .../Core/security.saml_invalidate.json | 28 ++++++++ .../Core/security.saml_logout.json | 28 ++++++++ .../security.saml_prepare_authentication.json | 28 ++++++++ ...curity.saml_service_provider_metadata.json | 30 ++++++++ .../RestSpecification/Core/snapshot.get.json | 4 ++ ...uestParameters.IndexLifecycleManagement.cs | 14 ++++ .../RequestParameters.MachineLearning.cs | 27 +++++++ .../RequestParameters.Security.cs | 30 ++++++++ .../RequestParameters.Snapshot.cs | 7 ++ ...LowLevelClient.IndexLifecycleManagement.cs | 11 +++ .../ElasticLowLevelClient.Security.cs | 72 +++++++++++++++++-- 16 files changed, 387 insertions(+), 5 deletions(-) create mode 100644 src/ApiGenerator/RestSpecification/Core/ilm.migrate_to_data_tiers.json create mode 100644 src/ApiGenerator/RestSpecification/Core/security.enroll_kibana.json create mode 100644 src/ApiGenerator/RestSpecification/Core/security.saml_authenticate.json create mode 100644 src/ApiGenerator/RestSpecification/Core/security.saml_invalidate.json create mode 100644 src/ApiGenerator/RestSpecification/Core/security.saml_logout.json create mode 100644 src/ApiGenerator/RestSpecification/Core/security.saml_prepare_authentication.json create mode 100644 src/ApiGenerator/RestSpecification/Core/security.saml_service_provider_metadata.json diff --git a/src/ApiGenerator/RestSpecification/Core/ilm.migrate_to_data_tiers.json b/src/ApiGenerator/RestSpecification/Core/ilm.migrate_to_data_tiers.json new file mode 100644 index 00000000000..8d7e4509b68 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/ilm.migrate_to_data_tiers.json @@ -0,0 +1,34 @@ +{ + "ilm.migrate_to_data_tiers":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-migrate-to-data-tiers.html", + "description": "Migrates the indices and ILM policies away from custom node attribute allocation routing to data tiers routing" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_ilm/migrate_to_data_tiers", + "methods":[ + "POST" + ] + } + ] + }, + "params": { + "dry_run": { + "type": "boolean", + "description": "If set to true it will simulate the migration, providing a way to retrieve the ILM policies and indices that need to be migrated. The default is false" + } + }, + "body":{ + "description":"Optionally specify a legacy index template name to delete and optionally specify a node attribute name used for index shard routing (defaults to \"data\")", + "required":false + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/ml.put_job.json b/src/ApiGenerator/RestSpecification/Core/ml.put_job.json index 24fa08e4bff..52cb95fc56b 100644 --- a/src/ApiGenerator/RestSpecification/Core/ml.put_job.json +++ b/src/ApiGenerator/RestSpecification/Core/ml.put_job.json @@ -26,6 +26,31 @@ } ] }, + "params":{ + "ignore_unavailable":{ + "type":"boolean", + "description":"Ignore unavailable indexes (default: false). Only set if datafeed_config is provided." + }, + "allow_no_indices":{ + "type":"boolean", + "description":"Ignore if the source indices expressions resolves to no concrete indices (default: true). Only set if datafeed_config is provided." + }, + "ignore_throttled":{ + "type":"boolean", + "description":"Ignore indices that are marked as throttled (default: true). Only set if datafeed_config is provided." + }, + "expand_wildcards":{ + "type":"enum", + "options":[ + "open", + "closed", + "hidden", + "none", + "all" + ], + "description":"Whether source index expressions should get expanded to open or closed indices (default: open). Only set if datafeed_config is provided." + } + }, "body":{ "description":"The job", "required":true diff --git a/src/ApiGenerator/RestSpecification/Core/security.enroll_kibana.json b/src/ApiGenerator/RestSpecification/Core/security.enroll_kibana.json new file mode 100644 index 00000000000..40d36daea9b --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.enroll_kibana.json @@ -0,0 +1,24 @@ +{ + "security.enroll_kibana":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-kibana.html", + "description":"Allows a kibana instance to configure itself to communicate with a secured elasticsearch cluster." + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/enroll/kibana", + "methods":[ + "GET" + ] + } + ] + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json b/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json index e0955a38b85..17b88859033 100644 --- a/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json +++ b/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json @@ -13,7 +13,7 @@ "url":{ "paths":[ { - "path":"/_security/enroll_node", + "path":"/_security/enroll/node", "methods":[ "GET" ] diff --git a/src/ApiGenerator/RestSpecification/Core/security.saml_authenticate.json b/src/ApiGenerator/RestSpecification/Core/security.saml_authenticate.json new file mode 100644 index 00000000000..e1247d87319 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.saml_authenticate.json @@ -0,0 +1,28 @@ +{ + "security.saml_authenticate":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-authenticate.html", + "description":"Exchanges a SAML Response message for an Elasticsearch access token and refresh token pair" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/saml/authenticate", + "methods":[ + "POST" + ] + } + ] + }, + "body":{ + "description":"The SAML response to authenticate", + "required":true + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/security.saml_invalidate.json b/src/ApiGenerator/RestSpecification/Core/security.saml_invalidate.json new file mode 100644 index 00000000000..c18c3388179 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.saml_invalidate.json @@ -0,0 +1,28 @@ +{ + "security.saml_invalidate":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-invalidate.html", + "description":"Consumes a SAML LogoutRequest" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/saml/invalidate", + "methods":[ + "POST" + ] + } + ] + }, + "body":{ + "description":"The LogoutRequest message", + "required":true + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/security.saml_logout.json b/src/ApiGenerator/RestSpecification/Core/security.saml_logout.json new file mode 100644 index 00000000000..148805b16a8 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.saml_logout.json @@ -0,0 +1,28 @@ +{ + "security.saml_logout":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-logout.html", + "description":"Invalidates an access token and a refresh token that were generated via the SAML Authenticate API" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/saml/logout", + "methods":[ + "POST" + ] + } + ] + }, + "body":{ + "description":"The tokens to invalidate", + "required":true + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/security.saml_prepare_authentication.json b/src/ApiGenerator/RestSpecification/Core/security.saml_prepare_authentication.json new file mode 100644 index 00000000000..5691e0d0792 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.saml_prepare_authentication.json @@ -0,0 +1,28 @@ +{ + "security.saml_prepare_authentication":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-prepare-authentication.html", + "description":"Creates a SAML authentication request" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/saml/prepare", + "methods":[ + "POST" + ] + } + ] + }, + "body":{ + "description":"The realm for which to create the authentication request, identified by either its name or the ACS URL", + "required":true + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/security.saml_service_provider_metadata.json b/src/ApiGenerator/RestSpecification/Core/security.saml_service_provider_metadata.json new file mode 100644 index 00000000000..7f7cd557821 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.saml_service_provider_metadata.json @@ -0,0 +1,30 @@ +{ + "security.saml_service_provider_metadata":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-sp-metadata.html", + "description":"Generates SAML metadata for the Elastic stack SAML 2.0 Service Provider" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/saml/metadata/{realm_name}", + "methods":[ + "GET" + ], + "parts":{ + "realm_name":{ + "type":"string", + "description":"The name of the SAML realm to get the metadata for" + } + } + } + ] + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/snapshot.get.json b/src/ApiGenerator/RestSpecification/Core/snapshot.get.json index fd338fe2511..01387918e52 100644 --- a/src/ApiGenerator/RestSpecification/Core/snapshot.get.json +++ b/src/ApiGenerator/RestSpecification/Core/snapshot.get.json @@ -42,6 +42,10 @@ "type":"boolean", "description":"Whether to include details of each index in the snapshot, if those details are available. Defaults to false." }, + "include_repository":{ + "type":"boolean", + "description":"Whether to include the repository name in the snapshot info. Defaults to true." + }, "verbose":{ "type":"boolean", "description":"Whether to show verbose snapshot info or only show the basic info found in the repository index blob" diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.IndexLifecycleManagement.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.IndexLifecycleManagement.cs index b8f755ec52f..b56e689d11d 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.IndexLifecycleManagement.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.IndexLifecycleManagement.cs @@ -61,6 +61,20 @@ public class GetIlmStatusRequestParameters : RequestParametersRequest options for MigrateToDataTiers https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-migrate-to-data-tiers.html + public class MigrateToDataTiersRequestParameters : RequestParameters + { + /// + /// If set to true it will simulate the migration, providing a way to retrieve the ILM policies and indices that need to be migrated. The + /// default is false + /// + public bool? DryRun + { + get => Q("dry_run"); + set => Q("dry_run", value); + } + } + ///Request options for MoveToStep https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html public class MoveToStepRequestParameters : RequestParameters { diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs index 1caf0312821..0ef6ce67bef 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs @@ -673,6 +673,33 @@ public class PutFilterRequestParameters : RequestParametersRequest options for PutJob https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html public class PutJobRequestParameters : RequestParameters { + ///Ignore if the source indices expressions resolves to no concrete indices (default: true). Only set if datafeed_config is provided. + public bool? AllowNoIndices + { + get => Q("allow_no_indices"); + set => Q("allow_no_indices", value); + } + + ///Whether source index expressions should get expanded to open or closed indices (default: open). Only set if datafeed_config is provided. + public ExpandWildcards? ExpandWildcards + { + get => Q("expand_wildcards"); + set => Q("expand_wildcards", value); + } + + ///Ignore indices that are marked as throttled (default: true). Only set if datafeed_config is provided. + public bool? IgnoreThrottled + { + get => Q("ignore_throttled"); + set => Q("ignore_throttled", value); + } + + ///Ignore unavailable indexes (default: false). Only set if datafeed_config is provided. + public bool? IgnoreUnavailable + { + get => Q("ignore_unavailable"); + set => Q("ignore_unavailable", value); + } } ///Request options for PutTrainedModel https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs index 879bbc7d82d..99b31ecc4d4 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs @@ -204,6 +204,11 @@ public Refresh? Refresh } } + ///Request options for EnrollKibana https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-kibana.html + public class EnrollKibanaRequestParameters : RequestParameters + { + } + ///Request options for EnrollNode https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html public class EnrollNodeRequestParameters : RequestParameters { @@ -378,11 +383,36 @@ public Refresh? Refresh } } + ///Request options for SamlAuthenticate https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-authenticate.html + public class SamlAuthenticateRequestParameters : RequestParameters + { + } + ///Request options for SamlCompleteLogout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html public class SamlCompleteLogoutRequestParameters : RequestParameters { } + ///Request options for SamlInvalidate https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-invalidate.html + public class SamlInvalidateRequestParameters : RequestParameters + { + } + + ///Request options for SamlLogout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-logout.html + public class SamlLogoutRequestParameters : RequestParameters + { + } + + ///Request options for SamlPrepareAuthentication https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-prepare-authentication.html + public class SamlPrepareAuthenticationRequestParameters : RequestParameters + { + } + + ///Request options for SamlServiceProviderMetadata https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-sp-metadata.html + public class SamlServiceProviderMetadataRequestParameters : RequestParameters + { + } + ///Request options for GetCertificates https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html public class GetCertificatesRequestParameters : RequestParameters { diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs index f55fb884259..011fcf20d4b 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs @@ -139,6 +139,13 @@ public bool? IgnoreUnavailable set => Q("ignore_unavailable", value); } + ///Whether to include the repository name in the snapshot info. Defaults to true. + public bool? IncludeRepository + { + get => Q("include_repository"); + set => Q("include_repository", value); + } + ///Whether to include details of each index in the snapshot, if those details are available. Defaults to false. public bool? IndexDetails { diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.IndexLifecycleManagement.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.IndexLifecycleManagement.cs index 0d12723b4f6..27dee55a21d 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.IndexLifecycleManagement.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.IndexLifecycleManagement.cs @@ -98,6 +98,17 @@ public TResponse GetStatus(GetIlmStatusRequestParameters requestParam [MapsApi("ilm.get_status", "")] public Task GetStatusAsync(GetIlmStatusRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, "_ilm/status", ctx, null, RequestParams(requestParameters)); + ///POST on /_ilm/migrate_to_data_tiers https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-migrate-to-data-tiers.html + ///Optionally specify a legacy index template name to delete and optionally specify a node attribute name used for index shard routing (defaults to "data") + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse MigrateToDataTiers(PostData body, MigrateToDataTiersRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, "_ilm/migrate_to_data_tiers", body, RequestParams(requestParameters)); + ///POST on /_ilm/migrate_to_data_tiers https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-migrate-to-data-tiers.html + ///Optionally specify a legacy index template name to delete and optionally specify a node attribute name used for index shard routing (defaults to "data") + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("ilm.migrate_to_data_tiers", "body")] + public Task MigrateToDataTiersAsync(PostData body, MigrateToDataTiersRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_ilm/migrate_to_data_tiers", ctx, body, RequestParams(requestParameters)); ///POST on /_ilm/move/{index} https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html ///The name of the index whose lifecycle step is to change ///The new lifecycle step to move to diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs index d7e72cc86f1..cf5727020e9 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs @@ -278,15 +278,24 @@ public TResponse EnableUser(string username, EnableUserRequestParamet [MapsApi("security.enable_user", "username")] public Task EnableUserAsync(string username, EnableUserRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(PUT, Url($"_security/user/{username:username}/_enable"), ctx, null, RequestParams(requestParameters)); - ///GET on /_security/enroll_node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html + ///GET on /_security/enroll/kibana https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-kibana.html + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse EnrollKibana(EnrollKibanaRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(GET, "_security/enroll/kibana", null, RequestParams(requestParameters)); + ///GET on /_security/enroll/kibana https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-kibana.html + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.enroll_kibana", "")] + public Task EnrollKibanaAsync(EnrollKibanaRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, "_security/enroll/kibana", ctx, null, RequestParams(requestParameters)); + ///GET on /_security/enroll/node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse EnrollNode(EnrollNodeRequestParameters requestParameters = null) - where TResponse : class, ITransportResponse, new() => DoRequest(GET, "_security/enroll_node", null, RequestParams(requestParameters)); - ///GET on /_security/enroll_node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html + where TResponse : class, ITransportResponse, new() => DoRequest(GET, "_security/enroll/node", null, RequestParams(requestParameters)); + ///GET on /_security/enroll/node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html ///Request specific configuration such as querystring parameters & request specific connection settings. [MapsApi("security.enroll_node", "")] public Task EnrollNodeAsync(EnrollNodeRequestParameters requestParameters = null, CancellationToken ctx = default) - where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, "_security/enroll_node", ctx, null, RequestParams(requestParameters)); + where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, "_security/enroll/node", ctx, null, RequestParams(requestParameters)); ///GET on /_security/api_key https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-api-key.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse GetApiKey(GetApiKeyRequestParameters requestParameters = null) @@ -579,6 +588,17 @@ public TResponse PutUser(string username, PostData body, PutUserReque [MapsApi("security.put_user", "username, body")] public Task PutUserAsync(string username, PostData body, PutUserRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(PUT, Url($"_security/user/{username:username}"), ctx, body, RequestParams(requestParameters)); + ///POST on /_security/saml/authenticate https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-authenticate.html + ///The SAML response to authenticate + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse SamlAuthenticate(PostData body, SamlAuthenticateRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, "_security/saml/authenticate", body, RequestParams(requestParameters)); + ///POST on /_security/saml/authenticate https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-authenticate.html + ///The SAML response to authenticate + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.saml_authenticate", "body")] + public Task SamlAuthenticateAsync(PostData body, SamlAuthenticateRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_security/saml/authenticate", ctx, body, RequestParams(requestParameters)); ///POST on /_security/saml/complete_logout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html ///The logout response to verify ///Request specific configuration such as querystring parameters & request specific connection settings. @@ -590,6 +610,50 @@ public TResponse SamlCompleteLogout(PostData body, SamlCompleteLogout [MapsApi("security.saml_complete_logout", "body")] public Task SamlCompleteLogoutAsync(PostData body, SamlCompleteLogoutRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_security/saml/complete_logout", ctx, body, RequestParams(requestParameters)); + ///POST on /_security/saml/invalidate https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-invalidate.html + ///The LogoutRequest message + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse SamlInvalidate(PostData body, SamlInvalidateRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, "_security/saml/invalidate", body, RequestParams(requestParameters)); + ///POST on /_security/saml/invalidate https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-invalidate.html + ///The LogoutRequest message + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.saml_invalidate", "body")] + public Task SamlInvalidateAsync(PostData body, SamlInvalidateRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_security/saml/invalidate", ctx, body, RequestParams(requestParameters)); + ///POST on /_security/saml/logout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-logout.html + ///The tokens to invalidate + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse SamlLogout(PostData body, SamlLogoutRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, "_security/saml/logout", body, RequestParams(requestParameters)); + ///POST on /_security/saml/logout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-logout.html + ///The tokens to invalidate + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.saml_logout", "body")] + public Task SamlLogoutAsync(PostData body, SamlLogoutRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_security/saml/logout", ctx, body, RequestParams(requestParameters)); + ///POST on /_security/saml/prepare https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-prepare-authentication.html + ///The realm for which to create the authentication request, identified by either its name or the ACS URL + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse SamlPrepareAuthentication(PostData body, SamlPrepareAuthenticationRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, "_security/saml/prepare", body, RequestParams(requestParameters)); + ///POST on /_security/saml/prepare https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-prepare-authentication.html + ///The realm for which to create the authentication request, identified by either its name or the ACS URL + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.saml_prepare_authentication", "body")] + public Task SamlPrepareAuthenticationAsync(PostData body, SamlPrepareAuthenticationRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_security/saml/prepare", ctx, body, RequestParams(requestParameters)); + ///GET on /_security/saml/metadata/{realm_name} https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-sp-metadata.html + ///The name of the SAML realm to get the metadata for + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse SamlServiceProviderMetadata(string realmName, SamlServiceProviderMetadataRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(GET, Url($"_security/saml/metadata/{realmName:realmName}"), null, RequestParams(requestParameters)); + ///GET on /_security/saml/metadata/{realm_name} https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-sp-metadata.html + ///The name of the SAML realm to get the metadata for + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.saml_service_provider_metadata", "realm_name")] + public Task SamlServiceProviderMetadataAsync(string realmName, SamlServiceProviderMetadataRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, Url($"_security/saml/metadata/{realmName:realmName}"), ctx, null, RequestParams(requestParameters)); ///GET on /_ssl/certificates https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse GetCertificates(GetCertificatesRequestParameters requestParameters = null)