From fa881f44568df8a1f3f6f871d0a0b1b4b0abceb0 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 15 Sep 2026 08:56:05 +0000 Subject: [PATCH] [codegen] update to latest spec --- .../_types/ElasticsearchException.java | 3 +- .../elasticsearch/doc-files/api-spec.html | 44 +++++++++---------- .../security/ClusterPrivilege.java | 2 + .../security/GlobalPrivilege.java | 19 +++++--- .../security/RoleDescriptor.java | 44 +++++-------------- .../security/RoleDescriptorRead.java | 44 +++++-------------- 6 files changed, 62 insertions(+), 94 deletions(-) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java index 74b927db6c..0c2c5b5d03 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/ElasticsearchException.java @@ -58,7 +58,8 @@ private static String buildCompleteErrorMessage(String endpointId, ErrorResponse message.append("; caused by: [").append(cause.type()).append("] ").append(cause.reason()); } - // Root causes carry the actual error for generic errors such "all shards failed" + // Root causes carry the actual error for generic errors such "all shards + // failed" for (ErrorCause rootCause : error.rootCause()) { // Avoid repeating same message if (Objects.equals(rootCause.type(), error.type()) && Objects.equals(rootCause.reason(), error.reason())) { diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index c253918400..2673533a50 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -955,7 +955,7 @@ '_types.mapping.ShortNumberProperty': '_types/mapping/core.ts#L216-L219', '_types.mapping.SizeField': '_types/mapping/meta-fields.ts#L54-L56', '_types.mapping.SourceField': '_types/mapping/meta-fields.ts#L58-L63', -'_types.mapping.SourceFieldMode': '_types/mapping/meta-fields.ts#L65-L74', +'_types.mapping.SourceFieldMode': '_types/mapping/meta-fields.ts#L65-L77', '_types.mapping.SparseVectorIndexOptions': '_types/mapping/SparseVectorIndexOptions.ts#L22-L42', '_types.mapping.SparseVectorProperty': '_types/mapping/core.ts#L260-L270', '_types.mapping.Subobjects': '_types/mapping/TypeMapping.ts#L63-L74', @@ -2979,29 +2979,29 @@ 'security._types.Access': 'security/_types/Access.ts#L22-L31', 'security._types.ApiKey': 'security/_types/ApiKey.ts#L27-L120', 'security._types.ApiKeyType': 'security/_types/ApiKey.ts#L122-L125', -'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L427-L429', +'security._types.ApplicationGlobalUserPrivileges': 'security/_types/Privileges.ts#L431-L433', 'security._types.ApplicationPrivileges': 'security/_types/Privileges.ts#L28-L41', 'security._types.BulkError': 'security/_types/Bulk.ts#L24-L33', 'security._types.ClusterNode': 'security/_types/ClusterNode.ts#L22-L24', -'security._types.ClusterPrivilege': 'security/_types/Privileges.ts#L43-L220', +'security._types.ClusterPrivilege': 'security/_types/Privileges.ts#L43-L224', 'security._types.CreatedStatus': 'security/_types/CreatedStatus.ts#L20-L22', 'security._types.CredentialManagedBy': 'security/_types/CredentialManagedBy.ts#L20-L23', -'security._types.DataSourcePrivilege': 'security/_types/Privileges.ts#L446-L468', -'security._types.DataSourcePrivileges': 'security/_types/Privileges.ts#L435-L444', +'security._types.DataSourcePrivilege': 'security/_types/Privileges.ts#L450-L472', +'security._types.DataSourcePrivileges': 'security/_types/Privileges.ts#L439-L448', 'security._types.FieldSecurity': 'security/_types/FieldSecurity.ts#L22-L25', -'security._types.GlobalPrivilege': 'security/_types/Privileges.ts#L418-L425', +'security._types.GlobalPrivilege': 'security/_types/Privileges.ts#L422-L429', 'security._types.GrantType': 'security/_types/GrantType.ts#L20-L30', -'security._types.IndexPrivilege': 'security/_types/Privileges.ts#L370-L416', -'security._types.IndicesPrivileges': 'security/_types/Privileges.ts#L264-L264', -'security._types.IndicesPrivilegesQuery': 'security/_types/Privileges.ts#L325-L333', -'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L431-L433', +'security._types.IndexPrivilege': 'security/_types/Privileges.ts#L374-L420', +'security._types.IndicesPrivileges': 'security/_types/Privileges.ts#L268-L268', +'security._types.IndicesPrivilegesQuery': 'security/_types/Privileges.ts#L329-L337', +'security._types.ManageUserPrivileges': 'security/_types/Privileges.ts#L435-L437', 'security._types.NodeSecurityStats': 'security/_types/NodeSecurityStats.ts#L22-L27', 'security._types.RealmInfo': 'security/_types/RealmInfo.ts#L22-L25', -'security._types.RemoteClusterPrivilege': 'security/_types/Privileges.ts#L222-L234', -'security._types.RemoteClusterPrivileges': 'security/_types/Privileges.ts#L278-L290', -'security._types.RemoteIndicesPrivileges': 'security/_types/Privileges.ts#L266-L276', -'security._types.RemoteUserIndicesPrivileges': 'security/_types/Privileges.ts#L319-L323', -'security._types.ReplicationAccess': 'security/_types/Privileges.ts#L470-L480', +'security._types.RemoteClusterPrivilege': 'security/_types/Privileges.ts#L226-L238', +'security._types.RemoteClusterPrivileges': 'security/_types/Privileges.ts#L282-L294', +'security._types.RemoteIndicesPrivileges': 'security/_types/Privileges.ts#L270-L280', +'security._types.RemoteUserIndicesPrivileges': 'security/_types/Privileges.ts#L323-L327', +'security._types.ReplicationAccess': 'security/_types/Privileges.ts#L474-L484', 'security._types.Restriction': 'security/_types/RoleDescriptor.ts#L90-L96', 'security._types.RestrictionWorkflow': 'security/_types/RoleDescriptor.ts#L98-L101', 'security._types.RoleDescriptor': 'security/_types/RoleDescriptor.ts#L33-L83', @@ -3009,15 +3009,15 @@ 'security._types.RoleMapping': 'security/_types/RoleMapping.ts#L25-L33', 'security._types.RoleMappingRule': 'security/_types/RoleMappingRule.ts#L23-L31', 'security._types.RoleTemplate': 'security/_types/RoleTemplate.ts#L28-L31', -'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L367-L368', -'security._types.RoleTemplateQuery': 'security/_types/Privileges.ts#L335-L345', -'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L347-L365', +'security._types.RoleTemplateInlineQuery': 'security/_types/Privileges.ts#L371-L372', +'security._types.RoleTemplateQuery': 'security/_types/Privileges.ts#L339-L349', +'security._types.RoleTemplateScript': 'security/_types/Privileges.ts#L351-L369', 'security._types.RolesStats': 'security/_types/NodeSecurityStats.ts#L29-L34', -'security._types.SearchAccess': 'security/_types/Privileges.ts#L482-L502', +'security._types.SearchAccess': 'security/_types/Privileges.ts#L486-L506', 'security._types.SecuritySettings': 'security/_types/SecuritySettings.ts#L22-L24', 'security._types.TemplateFormat': 'security/_types/RoleTemplate.ts#L22-L25', 'security._types.User': 'security/_types/User.ts#L23-L31', -'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L316-L317', +'security._types.UserIndicesPrivileges': 'security/_types/Privileges.ts#L320-L321', 'security._types.UserProfile': 'security/_types/UserProfile.ts#L41-L47', 'security._types.UserProfileHitMetadata': 'security/_types/UserProfile.ts#L27-L30', 'security._types.UserProfileUser': 'security/_types/UserProfile.ts#L32-L39', @@ -3641,10 +3641,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/9665eef0d78c41f20c4c83e69b7c8155efd58f24/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/c4854e67b7a5072cc76e08dbec274c70a0a6d72d/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClusterPrivilege.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClusterPrivilege.java index 334a42f354..8a939f6e74 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClusterPrivilege.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ClusterPrivilege.java @@ -50,6 +50,8 @@ public enum ClusterPrivilege implements JsonEnum { CancelTask("cancel_task"), + CloneApiKey("clone_api_key"), + CreateSnapshot("create_snapshot"), CrossClusterReplication("cross_cluster_replication"), diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GlobalPrivilege.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GlobalPrivilege.java index ebddc1bc5d..d0e841e620 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GlobalPrivilege.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/GlobalPrivilege.java @@ -59,6 +59,7 @@ */ @JsonpDeserializable public class GlobalPrivilege implements JsonpSerializable { + @Nullable private final ApplicationGlobalUserPrivileges application; private final List dataSource; @@ -67,7 +68,7 @@ public class GlobalPrivilege implements JsonpSerializable { private GlobalPrivilege(Builder builder) { - this.application = ApiTypeHelper.requireNonNull(builder.application, this, "application"); + this.application = builder.application; this.dataSource = ApiTypeHelper.unmodifiable(builder.dataSource); } @@ -77,8 +78,9 @@ public static GlobalPrivilege of(Function implements ObjectBuilder { + @Nullable private ApplicationGlobalUserPrivileges application; @Nullable @@ -145,15 +150,15 @@ private Builder(GlobalPrivilege instance) { } /** - * Required - API name: {@code application} + * API name: {@code application} */ - public final Builder application(ApplicationGlobalUserPrivileges value) { + public final Builder application(@Nullable ApplicationGlobalUserPrivileges value) { this.application = value; return this; } /** - * Required - API name: {@code application} + * API name: {@code application} */ public final Builder application( Function> fn) { diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java index 37f9dec81c..cc688331ae 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptor.java @@ -71,7 +71,8 @@ public class RoleDescriptor implements JsonpSerializable { private final List remoteCluster; - private final List global; + @Nullable + private final GlobalPrivilege global; private final List applications; @@ -95,7 +96,7 @@ protected RoleDescriptor(AbstractBuilder builder) { this.indices = ApiTypeHelper.unmodifiable(builder.indices); this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); this.remoteCluster = ApiTypeHelper.unmodifiable(builder.remoteCluster); - this.global = ApiTypeHelper.unmodifiable(builder.global); + this.global = builder.global; this.applications = ApiTypeHelper.unmodifiable(builder.applications); this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); this.runAs = ApiTypeHelper.unmodifiable(builder.runAs); @@ -153,7 +154,8 @@ public final List remoteCluster() { *

* API name: {@code global} */ - public final List global() { + @Nullable + public final GlobalPrivilege global() { return this.global; } @@ -266,14 +268,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } - if (ApiTypeHelper.isDefined(this.global)) { + if (this.global != null) { generator.writeKey("global"); - generator.writeStartArray(); - for (GlobalPrivilege item0 : this.global) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); + this.global.serialize(generator, mapper); } if (ApiTypeHelper.isDefined(this.applications)) { @@ -379,7 +376,7 @@ public abstract static class AbstractBuilder remoteCluster; @Nullable - private List global; + private GlobalPrivilege global; @Nullable private List applications; @@ -554,11 +551,9 @@ public final BuilderT remoteCluster( * privilege that is request-aware. *

* API name: {@code global} - *

- * Adds all elements of list to global. */ - public final BuilderT global(List list) { - this.global = _listAddAll(this.global, list); + public final BuilderT global(@Nullable GlobalPrivilege value) { + this.global = value; return self(); } @@ -567,24 +562,9 @@ public final BuilderT global(List list) { * privilege that is request-aware. *

* API name: {@code global} - *

- * Adds one or more values to global. - */ - public final BuilderT global(GlobalPrivilege value, GlobalPrivilege... values) { - this.global = _listAdd(this.global, value, values); - return self(); - } - - /** - * An object defining global privileges. A global privilege is a form of cluster - * privilege that is request-aware. - *

- * API name: {@code global} - *

- * Adds a value to global using a builder lambda. */ public final BuilderT global(Function> fn) { - return global(fn.apply(new GlobalPrivilege.Builder()).build()); + return this.global(fn.apply(new GlobalPrivilege.Builder()).build()); } /** @@ -751,7 +731,7 @@ protected static > void setupRoleDesc JsonpDeserializer.arrayDeserializer(RemoteIndicesPrivileges._DESERIALIZER), "remote_indices"); op.add(AbstractBuilder::remoteCluster, JsonpDeserializer.arrayDeserializer(RemoteClusterPrivileges._DESERIALIZER), "remote_cluster"); - op.add(AbstractBuilder::global, JsonpDeserializer.arrayDeserializer(GlobalPrivilege._DESERIALIZER), "global"); + op.add(AbstractBuilder::global, GlobalPrivilege._DESERIALIZER, "global"); op.add(AbstractBuilder::applications, JsonpDeserializer.arrayDeserializer(ApplicationPrivileges._DESERIALIZER), "applications"); op.add(AbstractBuilder::metadata, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "metadata"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java index 26b04e9e9b..bcf46304c6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleDescriptorRead.java @@ -72,7 +72,8 @@ public class RoleDescriptorRead implements JsonpSerializable { private final List remoteCluster; - private final List global; + @Nullable + private final GlobalPrivilege global; private final List applications; @@ -96,7 +97,7 @@ private RoleDescriptorRead(Builder builder) { this.indices = ApiTypeHelper.unmodifiableRequired(builder.indices, this, "indices"); this.remoteIndices = ApiTypeHelper.unmodifiable(builder.remoteIndices); this.remoteCluster = ApiTypeHelper.unmodifiable(builder.remoteCluster); - this.global = ApiTypeHelper.unmodifiable(builder.global); + this.global = builder.global; this.applications = ApiTypeHelper.unmodifiable(builder.applications); this.metadata = ApiTypeHelper.unmodifiable(builder.metadata); this.runAs = ApiTypeHelper.unmodifiable(builder.runAs); @@ -154,7 +155,8 @@ public final List remoteCluster() { *

* API name: {@code global} */ - public final List global() { + @Nullable + public final GlobalPrivilege global() { return this.global; } @@ -267,14 +269,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } - if (ApiTypeHelper.isDefined(this.global)) { + if (this.global != null) { generator.writeKey("global"); - generator.writeStartArray(); - for (GlobalPrivilege item0 : this.global) { - item0.serialize(generator, mapper); - - } - generator.writeEnd(); + this.global.serialize(generator, mapper); } if (ApiTypeHelper.isDefined(this.applications)) { @@ -357,7 +354,7 @@ public static class Builder extends WithJsonObjectBuilderBase private List remoteCluster; @Nullable - private List global; + private GlobalPrivilege global; @Nullable private List applications; @@ -548,11 +545,9 @@ public final Builder remoteCluster( * privilege that is request-aware. *

* API name: {@code global} - *

- * Adds all elements of list to global. */ - public final Builder global(List list) { - this.global = _listAddAll(this.global, list); + public final Builder global(@Nullable GlobalPrivilege value) { + this.global = value; return this; } @@ -561,24 +556,9 @@ public final Builder global(List list) { * privilege that is request-aware. *

* API name: {@code global} - *

- * Adds one or more values to global. - */ - public final Builder global(GlobalPrivilege value, GlobalPrivilege... values) { - this.global = _listAdd(this.global, value, values); - return this; - } - - /** - * An object defining global privileges. A global privilege is a form of cluster - * privilege that is request-aware. - *

- * API name: {@code global} - *

- * Adds a value to global using a builder lambda. */ public final Builder global(Function> fn) { - return global(fn.apply(new GlobalPrivilege.Builder()).build()); + return this.global(fn.apply(new GlobalPrivilege.Builder()).build()); } /** @@ -764,7 +744,7 @@ protected static void setupRoleDescriptorReadDeserializer(ObjectDeserializer