opensearch-ruby 3.3.0 → 4.0.0.pre.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/opensearch/api/actions/asynchronous_search/delete.rb +38 -0
- data/lib/opensearch/api/actions/asynchronous_search/get.rb +36 -0
- data/lib/opensearch/api/actions/asynchronous_search/search.rb +43 -0
- data/lib/opensearch/api/actions/asynchronous_search/stats.rb +31 -0
- data/lib/opensearch/api/actions/bulk.rb +48 -79
- data/lib/opensearch/api/actions/bulk_stream.rb +64 -0
- data/lib/opensearch/api/actions/cat/aliases.rb +27 -55
- data/lib/opensearch/api/actions/cat/all_pit_segments.rb +23 -22
- data/lib/opensearch/api/actions/cat/allocation.rb +29 -57
- data/lib/opensearch/api/actions/cat/cluster_manager.rb +27 -31
- data/lib/opensearch/api/actions/cat/count.rb +23 -51
- data/lib/opensearch/api/actions/cat/fielddata.rb +25 -53
- data/lib/opensearch/api/actions/cat/health.rb +22 -46
- data/lib/opensearch/api/actions/cat/help.rb +13 -43
- data/lib/opensearch/api/actions/cat/indices.rb +37 -65
- data/lib/opensearch/api/actions/cat/master.rb +27 -50
- data/lib/opensearch/api/actions/cat/nodeattrs.rb +26 -49
- data/lib/opensearch/api/actions/cat/nodes.rb +29 -55
- data/lib/opensearch/api/actions/cat/pending_tasks.rb +27 -51
- data/lib/opensearch/api/actions/cat/pit_segments.rb +24 -25
- data/lib/opensearch/api/actions/cat/plugins.rb +26 -51
- data/lib/opensearch/api/actions/cat/recovery.rb +27 -56
- data/lib/opensearch/api/actions/cat/repositories.rb +26 -49
- data/lib/opensearch/api/actions/cat/segment_replication.rb +69 -0
- data/lib/opensearch/api/actions/cat/segments.rb +28 -51
- data/lib/opensearch/api/actions/cat/shards.rb +30 -58
- data/lib/opensearch/api/actions/cat/snapshots.rb +30 -55
- data/lib/opensearch/api/actions/cat/tasks.rb +28 -51
- data/lib/opensearch/api/actions/cat/templates.rb +28 -55
- data/lib/opensearch/api/actions/cat/thread_pool.rb +30 -58
- data/lib/opensearch/api/actions/clear_scroll.rb +23 -48
- data/lib/opensearch/api/actions/cluster/allocation_explain.rb +19 -47
- data/lib/opensearch/api/actions/cluster/delete_component_template.rb +26 -47
- data/lib/opensearch/api/actions/cluster/delete_decommission_awareness.rb +33 -0
- data/lib/opensearch/api/actions/cluster/delete_voting_config_exclusions.rb +19 -40
- data/lib/opensearch/api/actions/cluster/delete_weighted_routing.rb +34 -0
- data/lib/opensearch/api/actions/cluster/exists_component_template.rb +26 -51
- data/lib/opensearch/api/actions/cluster/get_component_template.rb +22 -49
- data/lib/opensearch/api/actions/cluster/get_decommission_awareness.rb +36 -0
- data/lib/opensearch/api/actions/cluster/get_settings.rb +22 -45
- data/lib/opensearch/api/actions/cluster/get_weighted_routing.rb +36 -0
- data/lib/opensearch/api/actions/cluster/health.rb +34 -59
- data/lib/opensearch/api/actions/cluster/pending_tasks.rb +19 -42
- data/lib/opensearch/api/actions/cluster/post_voting_config_exclusions.rb +18 -41
- data/lib/opensearch/api/actions/cluster/put_component_template.rb +27 -50
- data/lib/opensearch/api/actions/cluster/put_decommission_awareness.rb +39 -0
- data/lib/opensearch/api/actions/cluster/put_settings.rb +22 -45
- data/lib/opensearch/api/actions/cluster/put_weighted_routing.rb +37 -0
- data/lib/opensearch/api/actions/cluster/remote_info.rb +13 -33
- data/lib/opensearch/api/actions/cluster/reroute.rb +26 -49
- data/lib/opensearch/api/actions/cluster/state.rb +33 -63
- data/lib/opensearch/api/actions/cluster/stats.rb +23 -46
- data/lib/opensearch/api/actions/count.rb +51 -81
- data/lib/opensearch/api/actions/create.rb +46 -47
- data/lib/opensearch/api/actions/create_pit.rb +34 -30
- data/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +28 -48
- data/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +26 -47
- data/lib/opensearch/api/actions/dangling_indices/list_dangling_indices.rb +14 -34
- data/lib/opensearch/api/actions/delete.rb +47 -76
- data/lib/opensearch/api/actions/delete_all_pits.rb +20 -13
- data/lib/opensearch/api/actions/delete_by_query.rb +91 -117
- data/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +25 -46
- data/lib/opensearch/api/actions/delete_pit.rb +21 -17
- data/lib/opensearch/api/actions/delete_script.rb +31 -50
- data/lib/opensearch/api/actions/exists.rb +49 -81
- data/lib/opensearch/api/actions/exists_source.rb +48 -77
- data/lib/opensearch/api/actions/explain.rb +51 -83
- data/lib/opensearch/api/actions/field_caps.rb +33 -63
- data/lib/opensearch/api/actions/flow_framework/create.rb +45 -0
- data/lib/opensearch/api/actions/flow_framework/delete.rb +43 -0
- data/lib/opensearch/api/actions/flow_framework/deprovision.rb +41 -0
- data/lib/opensearch/api/actions/flow_framework/get.rb +36 -0
- data/lib/opensearch/api/actions/flow_framework/get_status.rb +41 -0
- data/lib/opensearch/api/actions/flow_framework/get_steps.rb +36 -0
- data/lib/opensearch/api/actions/flow_framework/provision.rb +37 -0
- data/lib/opensearch/api/actions/flow_framework/search.rb +34 -0
- data/lib/opensearch/api/actions/flow_framework/search_state.rb +34 -0
- data/lib/opensearch/api/actions/flow_framework/update.rb +50 -0
- data/lib/opensearch/api/actions/get.rb +49 -80
- data/lib/opensearch/api/actions/get_all_pits.rb +18 -13
- data/lib/opensearch/api/actions/get_script.rb +27 -48
- data/lib/opensearch/api/actions/get_script_context.rb +18 -40
- data/lib/opensearch/api/actions/get_script_languages.rb +18 -40
- data/lib/opensearch/api/actions/get_source.rb +48 -75
- data/lib/opensearch/api/actions/index.rb +49 -80
- data/lib/opensearch/api/actions/indices/add_block.rb +34 -58
- data/lib/opensearch/api/actions/indices/analyze.rb +16 -52
- data/lib/opensearch/api/actions/indices/clear_cache.rb +30 -56
- data/lib/opensearch/api/actions/indices/clone.rb +36 -56
- data/lib/opensearch/api/actions/indices/close.rb +29 -52
- data/lib/opensearch/api/actions/indices/create.rb +26 -49
- data/lib/opensearch/api/actions/indices/create_data_stream.rb +37 -0
- data/lib/opensearch/api/actions/indices/data_streams_stats.rb +34 -0
- data/lib/opensearch/api/actions/indices/delete.rb +30 -55
- data/lib/opensearch/api/actions/indices/delete_alias.rb +31 -53
- data/lib/opensearch/api/actions/indices/delete_data_stream.rb +38 -0
- data/lib/opensearch/api/actions/indices/delete_index_template.rb +25 -46
- data/lib/opensearch/api/actions/indices/delete_template.rb +25 -50
- data/lib/opensearch/api/actions/indices/exists.rb +31 -57
- data/lib/opensearch/api/actions/indices/exists_alias.rb +28 -61
- data/lib/opensearch/api/actions/indices/exists_index_template.rb +27 -52
- data/lib/opensearch/api/actions/indices/exists_template.rb +27 -55
- data/lib/opensearch/api/actions/indices/flush.rb +26 -53
- data/lib/opensearch/api/actions/indices/forcemerge.rb +30 -53
- data/lib/opensearch/api/actions/indices/get.rb +30 -53
- data/lib/opensearch/api/actions/indices/get_alias.rb +24 -56
- data/lib/opensearch/api/actions/indices/get_data_stream.rb +34 -0
- data/lib/opensearch/api/actions/indices/get_field_mapping.rb +27 -59
- data/lib/opensearch/api/actions/indices/get_index_template.rb +23 -50
- data/lib/opensearch/api/actions/indices/get_mapping.rb +27 -59
- data/lib/opensearch/api/actions/indices/get_settings.rb +32 -64
- data/lib/opensearch/api/actions/indices/get_template.rb +23 -50
- data/lib/opensearch/api/actions/indices/get_upgrade.rb +22 -54
- data/lib/opensearch/api/actions/indices/open.rb +33 -52
- data/lib/opensearch/api/actions/indices/put_alias.rb +27 -54
- data/lib/opensearch/api/actions/indices/put_index_template.rb +26 -49
- data/lib/opensearch/api/actions/indices/put_mapping.rb +31 -58
- data/lib/opensearch/api/actions/indices/put_settings.rb +32 -59
- data/lib/opensearch/api/actions/indices/put_template.rb +26 -49
- data/lib/opensearch/api/actions/indices/recovery.rb +20 -47
- data/lib/opensearch/api/actions/indices/refresh.rb +22 -49
- data/lib/opensearch/api/actions/indices/resolve_index.rb +21 -48
- data/lib/opensearch/api/actions/indices/rollover.rb +31 -59
- data/lib/opensearch/api/actions/indices/segments.rb +22 -49
- data/lib/opensearch/api/actions/indices/shard_stores.rb +24 -51
- data/lib/opensearch/api/actions/indices/shrink.rb +36 -56
- data/lib/opensearch/api/actions/indices/simulate_index_template.rb +23 -50
- data/lib/opensearch/api/actions/indices/simulate_template.rb +25 -52
- data/lib/opensearch/api/actions/indices/split.rb +36 -56
- data/lib/opensearch/api/actions/indices/stats.rb +31 -74
- data/lib/opensearch/api/actions/indices/update_aliases.rb +22 -45
- data/lib/opensearch/api/actions/indices/upgrade.rb +25 -56
- data/lib/opensearch/api/actions/indices/validate_query.rb +36 -73
- data/lib/opensearch/api/actions/info.rb +18 -36
- data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +24 -45
- data/lib/opensearch/api/actions/ingest/get_pipeline.rb +20 -49
- data/lib/opensearch/api/actions/ingest/processor_grok.rb +18 -33
- data/lib/opensearch/api/actions/ingest/put_pipeline.rb +24 -47
- data/lib/opensearch/api/actions/ingest/simulate.rb +21 -48
- data/lib/opensearch/api/actions/insights/top_queries.rb +38 -0
- data/lib/opensearch/api/actions/ism/add_policy.rb +37 -0
- data/lib/opensearch/api/actions/ism/change_policy.rb +37 -0
- data/lib/opensearch/api/actions/ism/delete_policy.rb +38 -0
- data/lib/opensearch/api/actions/ism/exists_policy.rb +36 -0
- data/lib/opensearch/api/actions/ism/explain_policy.rb +35 -0
- data/lib/opensearch/api/actions/ism/get_policies.rb +31 -0
- data/lib/opensearch/api/actions/ism/get_policy.rb +36 -0
- data/lib/opensearch/api/actions/ism/put_policies.rb +43 -0
- data/lib/opensearch/api/actions/ism/put_policy.rb +44 -0
- data/lib/opensearch/api/actions/ism/refresh_search_analyzers.rb +36 -0
- data/lib/opensearch/api/actions/ism/remove_policy.rb +36 -0
- data/lib/opensearch/api/actions/ism/retry_index.rb +37 -0
- data/lib/opensearch/api/actions/knn/delete_model.rb +38 -0
- data/lib/opensearch/api/actions/knn/get_model.rb +36 -0
- data/lib/opensearch/api/actions/knn/search_models.rb +119 -0
- data/lib/opensearch/api/actions/knn/stats.rb +41 -0
- data/lib/opensearch/api/actions/knn/train_model.rb +40 -0
- data/lib/opensearch/api/actions/knn/warmup.rb +36 -0
- data/lib/opensearch/api/actions/list/help.rb +31 -0
- data/lib/opensearch/api/actions/list/indices.rb +71 -0
- data/lib/opensearch/api/actions/list/shards.rb +63 -0
- data/lib/opensearch/api/actions/mget.rb +40 -70
- data/lib/opensearch/api/actions/ml/create_connector.rb +32 -0
- data/lib/opensearch/api/actions/ml/delete_agent.rb +38 -0
- data/lib/opensearch/api/actions/ml/delete_connector.rb +38 -0
- data/lib/opensearch/api/actions/ml/delete_model.rb +38 -0
- data/lib/opensearch/api/actions/ml/delete_model_group.rb +38 -0
- data/lib/opensearch/api/actions/ml/delete_task.rb +38 -0
- data/lib/opensearch/api/actions/ml/deploy_model.rb +36 -0
- data/lib/opensearch/api/actions/ml/get_model_group.rb +36 -0
- data/lib/opensearch/api/actions/ml/get_task.rb +36 -0
- data/lib/opensearch/api/actions/ml/register_agents.rb +32 -0
- data/lib/opensearch/api/actions/ml/register_model.rb +32 -0
- data/lib/opensearch/api/actions/ml/register_model_group.rb +32 -0
- data/lib/opensearch/api/actions/ml/search_models.rb +32 -0
- data/lib/opensearch/api/actions/ml/undeploy_model.rb +36 -0
- data/lib/opensearch/api/actions/msearch.rb +40 -91
- data/lib/opensearch/api/actions/msearch_template.rb +36 -75
- data/lib/opensearch/api/actions/mtermvectors.rb +47 -87
- data/lib/opensearch/api/actions/nodes/hot_threads.rb +25 -57
- data/lib/opensearch/api/actions/nodes/info.rb +23 -53
- data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +20 -47
- data/lib/opensearch/api/actions/nodes/stats.rb +33 -72
- data/lib/opensearch/api/actions/nodes/usage.rb +21 -53
- data/lib/opensearch/api/actions/notifications/create_config.rb +34 -0
- data/lib/opensearch/api/actions/notifications/delete_config.rb +38 -0
- data/lib/opensearch/api/actions/notifications/delete_configs.rb +42 -0
- data/lib/opensearch/api/actions/notifications/get_config.rb +36 -0
- data/lib/opensearch/api/actions/notifications/get_configs.rb +115 -0
- data/lib/opensearch/api/actions/notifications/list_channels.rb +31 -0
- data/lib/opensearch/api/actions/notifications/list_features.rb +31 -0
- data/lib/opensearch/api/actions/notifications/send_test.rb +36 -0
- data/lib/opensearch/api/actions/notifications/update_config.rb +38 -0
- data/lib/opensearch/api/actions/observability/create_object.rb +32 -0
- data/lib/opensearch/api/actions/observability/delete_object.rb +38 -0
- data/lib/opensearch/api/actions/observability/delete_objects.rb +40 -0
- data/lib/opensearch/api/actions/observability/get_localstats.rb +31 -0
- data/lib/opensearch/api/actions/observability/get_object.rb +36 -0
- data/lib/opensearch/api/actions/observability/list_objects.rb +31 -0
- data/lib/opensearch/api/actions/observability/update_object.rb +37 -0
- data/lib/opensearch/api/actions/ping.rb +17 -40
- data/lib/opensearch/api/actions/ppl/explain.rb +41 -0
- data/lib/opensearch/api/actions/ppl/get_stats.rb +38 -0
- data/lib/opensearch/api/actions/ppl/post_stats.rb +41 -0
- data/lib/opensearch/api/actions/ppl/query.rb +41 -0
- data/lib/opensearch/api/actions/put_script.rb +37 -64
- data/lib/opensearch/api/actions/query/datasource_delete.rb +38 -0
- data/lib/opensearch/api/actions/query/datasource_retrieve.rb +36 -0
- data/lib/opensearch/api/actions/query/datasources_create.rb +32 -0
- data/lib/opensearch/api/actions/query/datasources_list.rb +31 -0
- data/lib/opensearch/api/actions/query/datasources_update.rb +32 -0
- data/lib/opensearch/api/actions/rank_eval.rb +32 -61
- data/lib/opensearch/api/actions/reindex.rb +40 -61
- data/lib/opensearch/api/actions/reindex_rethrottle.rb +25 -46
- data/lib/opensearch/api/actions/remote_store/restore.rb +19 -21
- data/lib/opensearch/api/actions/render_search_template.rb +21 -48
- data/lib/opensearch/api/actions/replication/autofollow_stats.rb +31 -0
- data/lib/opensearch/api/actions/replication/create_replication_rule.rb +34 -0
- data/lib/opensearch/api/actions/replication/delete_replication_rule.rb +36 -0
- data/lib/opensearch/api/actions/replication/follower_stats.rb +31 -0
- data/lib/opensearch/api/actions/replication/leader_stats.rb +31 -0
- data/lib/opensearch/api/actions/replication/pause.rb +38 -0
- data/lib/opensearch/api/actions/replication/resume.rb +38 -0
- data/lib/opensearch/api/actions/replication/start.rb +38 -0
- data/lib/opensearch/api/actions/replication/status.rb +36 -0
- data/lib/opensearch/api/actions/replication/stop.rb +38 -0
- data/lib/opensearch/api/actions/replication/update_settings.rb +38 -0
- data/lib/opensearch/api/actions/rollups/delete.rb +38 -0
- data/lib/opensearch/api/actions/rollups/explain.rb +36 -0
- data/lib/opensearch/api/actions/rollups/get.rb +36 -0
- data/lib/opensearch/api/actions/rollups/put.rb +44 -0
- data/lib/opensearch/api/actions/rollups/start.rb +36 -0
- data/lib/opensearch/api/actions/rollups/stop.rb +36 -0
- data/lib/opensearch/api/actions/scripts_painless_execute.rb +19 -46
- data/lib/opensearch/api/actions/scroll.rb +27 -63
- data/lib/opensearch/api/actions/search.rb +115 -146
- data/lib/opensearch/api/actions/search_pipeline/delete.rb +45 -0
- data/lib/opensearch/api/actions/search_pipeline/get.rb +39 -0
- data/lib/opensearch/api/actions/search_pipeline/put.rb +45 -0
- data/lib/opensearch/api/actions/search_shards.rb +35 -59
- data/lib/opensearch/api/actions/search_template.rb +50 -80
- data/lib/opensearch/api/actions/security/authinfo.rb +38 -0
- data/lib/opensearch/api/actions/security/authtoken.rb +31 -0
- data/lib/opensearch/api/actions/security/change_password.rb +12 -17
- data/lib/opensearch/api/actions/security/config_upgrade_check.rb +31 -0
- data/lib/opensearch/api/actions/security/config_upgrade_perform.rb +32 -0
- data/lib/opensearch/api/actions/security/create_action_group.rb +15 -19
- data/lib/opensearch/api/actions/security/create_allowlist.rb +34 -0
- data/lib/opensearch/api/actions/security/create_role.rb +15 -20
- data/lib/opensearch/api/actions/security/create_role_mapping.rb +15 -20
- data/lib/opensearch/api/actions/security/create_tenant.rb +15 -19
- data/lib/opensearch/api/actions/security/create_update_tenancy_config.rb +34 -0
- data/lib/opensearch/api/actions/security/create_user.rb +15 -20
- data/lib/opensearch/api/actions/security/create_user_legacy.rb +38 -0
- data/lib/opensearch/api/actions/security/delete_action_group.rb +15 -18
- data/lib/opensearch/api/actions/security/delete_distinguished_name.rb +38 -0
- data/lib/opensearch/api/actions/security/delete_role.rb +15 -18
- data/lib/opensearch/api/actions/security/delete_role_mapping.rb +15 -18
- data/lib/opensearch/api/actions/security/delete_tenant.rb +15 -18
- data/lib/opensearch/api/actions/security/delete_user.rb +15 -18
- data/lib/opensearch/api/actions/security/delete_user_legacy.rb +38 -0
- data/lib/opensearch/api/actions/security/flush_cache.rb +12 -15
- data/lib/opensearch/api/actions/security/generate_obo_token.rb +34 -0
- data/lib/opensearch/api/actions/security/generate_user_token.rb +36 -0
- data/lib/opensearch/api/actions/security/generate_user_token_legacy.rb +36 -0
- data/lib/opensearch/api/actions/security/get_account_details.rb +10 -15
- data/lib/opensearch/api/actions/security/get_action_group.rb +13 -18
- data/lib/opensearch/api/actions/security/get_action_groups.rb +10 -15
- data/lib/opensearch/api/actions/security/get_all_certificates.rb +38 -0
- data/lib/opensearch/api/actions/security/get_allowlist.rb +31 -0
- data/lib/opensearch/api/actions/security/get_audit_configuration.rb +10 -15
- data/lib/opensearch/api/actions/security/get_certificates.rb +11 -16
- data/lib/opensearch/api/actions/security/get_configuration.rb +10 -15
- data/lib/opensearch/api/actions/security/get_dashboards_info.rb +31 -0
- data/lib/opensearch/api/actions/security/get_distinguished_name.rb +41 -0
- data/lib/opensearch/api/actions/security/get_distinguished_names.rb +16 -19
- data/lib/opensearch/api/actions/security/get_node_certificates.rb +43 -0
- data/lib/opensearch/api/actions/security/get_permissions_info.rb +31 -0
- data/lib/opensearch/api/actions/security/get_role.rb +13 -18
- data/lib/opensearch/api/actions/security/get_role_mapping.rb +13 -18
- data/lib/opensearch/api/actions/security/get_role_mappings.rb +10 -15
- data/lib/opensearch/api/actions/security/get_roles.rb +10 -15
- data/lib/opensearch/api/actions/security/get_sslinfo.rb +36 -0
- data/lib/opensearch/api/actions/security/get_tenancy_config.rb +31 -0
- data/lib/opensearch/api/actions/security/get_tenant.rb +13 -18
- data/lib/opensearch/api/actions/security/get_tenants.rb +10 -15
- data/lib/opensearch/api/actions/security/get_user.rb +13 -18
- data/lib/opensearch/api/actions/security/get_user_legacy.rb +36 -0
- data/lib/opensearch/api/actions/security/get_users.rb +10 -15
- data/lib/opensearch/api/actions/security/get_users_legacy.rb +31 -0
- data/lib/opensearch/api/actions/security/health.rb +15 -15
- data/lib/opensearch/api/actions/security/migrate.rb +31 -0
- data/lib/opensearch/api/actions/security/patch_action_group.rb +15 -19
- data/lib/opensearch/api/actions/security/patch_action_groups.rb +13 -16
- data/lib/opensearch/api/actions/security/patch_allowlist.rb +34 -0
- data/lib/opensearch/api/actions/security/patch_audit_configuration.rb +12 -17
- data/lib/opensearch/api/actions/security/patch_configuration.rb +13 -18
- data/lib/opensearch/api/actions/security/patch_distinguished_name.rb +37 -0
- data/lib/opensearch/api/actions/security/patch_distinguished_names.rb +13 -18
- data/lib/opensearch/api/actions/security/patch_role.rb +15 -20
- data/lib/opensearch/api/actions/security/patch_role_mapping.rb +15 -20
- data/lib/opensearch/api/actions/security/patch_role_mappings.rb +12 -17
- data/lib/opensearch/api/actions/security/patch_roles.rb +12 -17
- data/lib/opensearch/api/actions/security/patch_tenant.rb +15 -20
- data/lib/opensearch/api/actions/security/patch_tenants.rb +12 -17
- data/lib/opensearch/api/actions/security/patch_user.rb +15 -20
- data/lib/opensearch/api/actions/security/patch_users.rb +12 -17
- data/lib/opensearch/api/actions/security/post_dashboards_info.rb +31 -0
- data/lib/opensearch/api/actions/security/reload_http_certificates.rb +10 -15
- data/lib/opensearch/api/actions/security/reload_transport_certificates.rb +11 -16
- data/lib/opensearch/api/actions/security/tenant_info.rb +31 -0
- data/lib/opensearch/api/actions/security/update_audit_configuration.rb +12 -17
- data/lib/opensearch/api/actions/security/update_configuration.rb +13 -18
- data/lib/opensearch/api/actions/security/update_distinguished_name.rb +37 -0
- data/lib/opensearch/api/actions/security/validate.rb +36 -0
- data/lib/opensearch/api/actions/security/who_am_i.rb +31 -0
- data/lib/opensearch/api/actions/security/who_am_i_protected.rb +31 -0
- data/lib/opensearch/api/actions/sm/create_policy.rb +37 -0
- data/lib/opensearch/api/actions/sm/delete_policy.rb +38 -0
- data/lib/opensearch/api/actions/sm/explain_policy.rb +36 -0
- data/lib/opensearch/api/actions/sm/get_policies.rb +44 -0
- data/lib/opensearch/api/actions/sm/get_policy.rb +36 -0
- data/lib/opensearch/api/actions/sm/start_policy.rb +36 -0
- data/lib/opensearch/api/actions/sm/stop_policy.rb +36 -0
- data/lib/opensearch/api/actions/sm/update_policy.rb +46 -0
- data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +22 -45
- data/lib/opensearch/api/actions/snapshot/clone.rb +33 -58
- data/lib/opensearch/api/actions/snapshot/create.rb +29 -53
- data/lib/opensearch/api/actions/snapshot/create_repository.rb +25 -48
- data/lib/opensearch/api/actions/snapshot/delete.rb +29 -55
- data/lib/opensearch/api/actions/snapshot/delete_repository.rb +24 -49
- data/lib/opensearch/api/actions/snapshot/get.rb +29 -61
- data/lib/opensearch/api/actions/snapshot/get_repository.rb +21 -51
- data/lib/opensearch/api/actions/snapshot/restore.rb +29 -53
- data/lib/opensearch/api/actions/snapshot/status.rb +23 -57
- data/lib/opensearch/api/actions/snapshot/verify_repository.rb +22 -45
- data/lib/opensearch/api/actions/sql/close.rb +39 -0
- data/lib/opensearch/api/actions/sql/explain.rb +39 -0
- data/lib/opensearch/api/actions/sql/get_stats.rb +38 -0
- data/lib/opensearch/api/actions/sql/post_stats.rb +39 -0
- data/lib/opensearch/api/actions/sql/query.rb +39 -0
- data/lib/opensearch/api/actions/sql/settings.rb +37 -0
- data/lib/opensearch/api/actions/tasks/cancel.rb +22 -53
- data/lib/opensearch/api/actions/tasks/get.rb +21 -46
- data/lib/opensearch/api/actions/tasks/list.rb +25 -52
- data/lib/opensearch/api/actions/termvectors.rb +48 -92
- data/lib/opensearch/api/actions/transforms/delete.rb +38 -0
- data/lib/opensearch/api/actions/transforms/explain.rb +36 -0
- data/lib/opensearch/api/actions/transforms/get.rb +36 -0
- data/lib/opensearch/api/actions/transforms/preview.rb +32 -0
- data/lib/opensearch/api/actions/transforms/put.rb +44 -0
- data/lib/opensearch/api/actions/transforms/search.rb +44 -0
- data/lib/opensearch/api/actions/transforms/start.rb +36 -0
- data/lib/opensearch/api/actions/transforms/stop.rb +36 -0
- data/lib/opensearch/api/actions/update.rb +52 -83
- data/lib/opensearch/api/actions/update_by_query.rb +93 -121
- data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +25 -46
- data/lib/opensearch/api/actions/wlm/create_query_group.rb +34 -0
- data/lib/opensearch/api/actions/wlm/delete_query_group.rb +38 -0
- data/lib/opensearch/api/actions/wlm/get_query_group.rb +34 -0
- data/lib/opensearch/api/actions/wlm/update_query_group.rb +38 -0
- data/lib/opensearch/api/http.rb +94 -0
- data/lib/opensearch/api/namespace.rb +23 -0
- data/lib/opensearch/api/utils.rb +41 -236
- data/lib/opensearch/api.rb +10 -82
- data/lib/opensearch/dsl/search/queries/script_score.rb +62 -0
- data/lib/opensearch/dsl/search.rb +2 -2
- data/lib/opensearch/dsl.rb +3 -3
- data/lib/opensearch/transport/client.rb +26 -1
- data/lib/opensearch/transport/transport/http/faraday.rb +3 -1
- data/lib/opensearch/version.rb +1 -1
- data/lib/opensearch.rb +106 -68
- data/opensearch-ruby.gemspec +1 -1
- data/spec/spec_helper.rb +3 -18
- data.tar.gz.sig +0 -0
- metadata +182 -67
- metadata.gz.sig +0 -0
- data/lib/opensearch/api/actions/abort_benchmark.rb +0 -49
- data/lib/opensearch/api/actions/benchmark.rb +0 -88
- data/lib/opensearch/api/actions/cat/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/cluster/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/features/get_features.rb +0 -61
- data/lib/opensearch/api/actions/features/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/features/reset_features.rb +0 -55
- data/lib/opensearch/api/actions/http/connect.rb +0 -28
- data/lib/opensearch/api/actions/http/delete.rb +0 -28
- data/lib/opensearch/api/actions/http/get.rb +0 -28
- data/lib/opensearch/api/actions/http/head.rb +0 -28
- data/lib/opensearch/api/actions/http/options.rb +0 -28
- data/lib/opensearch/api/actions/http/patch.rb +0 -28
- data/lib/opensearch/api/actions/http/post.rb +0 -28
- data/lib/opensearch/api/actions/http/put.rb +0 -28
- data/lib/opensearch/api/actions/http/request.rb +0 -27
- data/lib/opensearch/api/actions/http/trace.rb +0 -28
- data/lib/opensearch/api/actions/indices/disk_usage.rb +0 -76
- data/lib/opensearch/api/actions/indices/field_usage_stats.rb +0 -74
- data/lib/opensearch/api/actions/indices/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +0 -51
- data/lib/opensearch/api/actions/ingest/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/nodes/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/nodes/shutdown.rb +0 -65
- data/lib/opensearch/api/actions/params_registry.rb +0 -67
- data/lib/opensearch/api/actions/remote/info.rb +0 -45
- data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +0 -41
- data/lib/opensearch/api/actions/security/update_distinguished_names.rb +0 -42
- data/lib/opensearch/api/actions/shutdown/delete_node.rb +0 -60
- data/lib/opensearch/api/actions/shutdown/get_node.rb +0 -62
- data/lib/opensearch/api/actions/shutdown/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/shutdown/put_node.rb +0 -62
- data/lib/opensearch/api/actions/snapshot/get_features.rb +0 -61
- data/lib/opensearch/api/actions/snapshot/params_registry.rb +0 -69
- data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +0 -84
- data/lib/opensearch/api/actions/tasks/params_registry.rb +0 -69
- data/lib/opensearch/api/namespace/cat.rb +0 -47
- data/lib/opensearch/api/namespace/cluster.rb +0 -47
- data/lib/opensearch/api/namespace/common.rb +0 -72
- data/lib/opensearch/api/namespace/dangling_indices.rb +0 -47
- data/lib/opensearch/api/namespace/features.rb +0 -47
- data/lib/opensearch/api/namespace/http.rb +0 -30
- data/lib/opensearch/api/namespace/indices.rb +0 -47
- data/lib/opensearch/api/namespace/ingest.rb +0 -47
- data/lib/opensearch/api/namespace/nodes.rb +0 -47
- data/lib/opensearch/api/namespace/remote.rb +0 -47
- data/lib/opensearch/api/namespace/remote_store.rb +0 -30
- data/lib/opensearch/api/namespace/security.rb +0 -30
- data/lib/opensearch/api/namespace/shutdown.rb +0 -47
- data/lib/opensearch/api/namespace/snapshot.rb +0 -47
- data/lib/opensearch/api/namespace/tasks.rb +0 -47
|
@@ -3,60 +3,39 @@
|
|
|
3
3
|
# The OpenSearch Contributors require contributions made to
|
|
4
4
|
# this file be licensed under the Apache-2.0 license or a
|
|
5
5
|
# compatible open source license.
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
#
|
|
11
|
-
# license agreements. See the NOTICE file distributed with
|
|
12
|
-
# this work for additional information regarding copyright
|
|
13
|
-
# ownership. Elasticsearch B.V. licenses this file to you under
|
|
14
|
-
# the Apache License, Version 2.0 (the "License"); you may
|
|
15
|
-
# not use this file except in compliance with the License.
|
|
16
|
-
# You may obtain a copy of the License at
|
|
17
|
-
#
|
|
18
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
#
|
|
20
|
-
# Unless required by applicable law or agreed to in writing,
|
|
21
|
-
# software distributed under the License is distributed on an
|
|
22
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
23
|
-
# KIND, either express or implied. See the License for the
|
|
24
|
-
# specific language governing permissions and limitations
|
|
25
|
-
# under the License.
|
|
6
|
+
|
|
7
|
+
# This file is generated from the OpenSearch REST API spec.
|
|
8
|
+
# Do not modify it by hand. Instead, modify the generator or the spec.
|
|
9
|
+
|
|
10
|
+
# frozen_string_literal: true
|
|
26
11
|
|
|
27
12
|
module OpenSearch
|
|
28
13
|
module API
|
|
29
|
-
module
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
|
|
14
|
+
module Root
|
|
15
|
+
module Actions
|
|
16
|
+
# Changes the number of requests per second for a particular Update By Query operation.
|
|
17
|
+
#
|
|
18
|
+
# @option args [String] :task_id *Required* The ID for the task.
|
|
19
|
+
# @option args [Float] :requests_per_second The throttle for this request in sub-requests per second.
|
|
20
|
+
def update_by_query_rethrottle(args = {})
|
|
21
|
+
args = Utils.clone_and_normalize_arguments(args)
|
|
22
|
+
raise ArgumentError, "Required argument 'task_id' missing" if args['task_id'].nil?
|
|
39
23
|
|
|
40
|
-
|
|
24
|
+
_task_id = args.delete('task_id')
|
|
41
25
|
|
|
42
|
-
|
|
26
|
+
headers = args.delete('headers') || {}
|
|
27
|
+
body = args.delete('body')
|
|
28
|
+
method = 'POST'
|
|
29
|
+
url = Utils.build_url('_update_by_query', _task_id, '_rethrottle')
|
|
43
30
|
|
|
44
|
-
|
|
31
|
+
Utils.validate_query_params! args, UPDATE_BY_QUERY_RETHROTTLE_QUERY_PARAMS
|
|
32
|
+
transport.perform_request(method, url, args, body, headers).body
|
|
33
|
+
end
|
|
45
34
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
body = nil
|
|
51
|
-
perform_request(method, path, params, body, headers).body
|
|
35
|
+
UPDATE_BY_QUERY_RETHROTTLE_QUERY_PARAMS = Set.new(%w[
|
|
36
|
+
requests_per_second
|
|
37
|
+
]).freeze
|
|
52
38
|
end
|
|
53
|
-
|
|
54
|
-
# Register this action with its valid params when the module is loaded.
|
|
55
|
-
#
|
|
56
|
-
# @since 6.2.0
|
|
57
|
-
ParamsRegistry.register(:update_by_query_rethrottle, [
|
|
58
|
-
:requests_per_second
|
|
59
|
-
].freeze)
|
|
60
39
|
end
|
|
61
40
|
end
|
|
62
41
|
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
#
|
|
3
|
+
# The OpenSearch Contributors require contributions made to
|
|
4
|
+
# this file be licensed under the Apache-2.0 license or a
|
|
5
|
+
# compatible open source license.
|
|
6
|
+
|
|
7
|
+
# This file is generated from the OpenSearch REST API spec.
|
|
8
|
+
# Do not modify it by hand. Instead, modify the generator or the spec.
|
|
9
|
+
|
|
10
|
+
# frozen_string_literal: true
|
|
11
|
+
|
|
12
|
+
module OpenSearch
|
|
13
|
+
module API
|
|
14
|
+
module Wlm
|
|
15
|
+
module Actions
|
|
16
|
+
# Creates a new query group and sets the resource limits for the new query group.
|
|
17
|
+
#
|
|
18
|
+
# @option args [Hash] :body *Required*
|
|
19
|
+
def create_query_group(args = {})
|
|
20
|
+
args = Utils.clone_and_normalize_arguments(args)
|
|
21
|
+
raise ArgumentError, "Required argument 'body' missing" if args['body'].nil?
|
|
22
|
+
|
|
23
|
+
headers = args.delete('headers') || {}
|
|
24
|
+
body = args.delete('body')
|
|
25
|
+
method = 'PUT'
|
|
26
|
+
url = '_wlm/query_group'
|
|
27
|
+
|
|
28
|
+
Utils.validate_query_params! args
|
|
29
|
+
transport.perform_request(method, url, args, body, headers).body
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
#
|
|
3
|
+
# The OpenSearch Contributors require contributions made to
|
|
4
|
+
# this file be licensed under the Apache-2.0 license or a
|
|
5
|
+
# compatible open source license.
|
|
6
|
+
|
|
7
|
+
# This file is generated from the OpenSearch REST API spec.
|
|
8
|
+
# Do not modify it by hand. Instead, modify the generator or the spec.
|
|
9
|
+
|
|
10
|
+
# frozen_string_literal: true
|
|
11
|
+
|
|
12
|
+
module OpenSearch
|
|
13
|
+
module API
|
|
14
|
+
module Wlm
|
|
15
|
+
module Actions
|
|
16
|
+
# Deletes the specified query group.
|
|
17
|
+
#
|
|
18
|
+
# @option args [String] :name *Required* The name of the query group.
|
|
19
|
+
# @option args [List] :ignore set to [404] to ignore server's NOT FOUND error for this request
|
|
20
|
+
def delete_query_group(args = {})
|
|
21
|
+
args = Utils.clone_and_normalize_arguments(args)
|
|
22
|
+
raise ArgumentError, "Required argument 'name' missing" if args['name'].nil?
|
|
23
|
+
|
|
24
|
+
_name = args.delete('name')
|
|
25
|
+
|
|
26
|
+
ignore = args.delete('ignore') || []
|
|
27
|
+
headers = args.delete('headers') || {}
|
|
28
|
+
body = args.delete('body')
|
|
29
|
+
method = 'DELETE'
|
|
30
|
+
url = Utils.build_url('_wlm/query_group', _name)
|
|
31
|
+
|
|
32
|
+
Utils.validate_query_params! args
|
|
33
|
+
transport.perform_delete_request method, url, args, body, headers, ignore.include?(404)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
#
|
|
3
|
+
# The OpenSearch Contributors require contributions made to
|
|
4
|
+
# this file be licensed under the Apache-2.0 license or a
|
|
5
|
+
# compatible open source license.
|
|
6
|
+
|
|
7
|
+
# This file is generated from the OpenSearch REST API spec.
|
|
8
|
+
# Do not modify it by hand. Instead, modify the generator or the spec.
|
|
9
|
+
|
|
10
|
+
# frozen_string_literal: true
|
|
11
|
+
|
|
12
|
+
module OpenSearch
|
|
13
|
+
module API
|
|
14
|
+
module Wlm
|
|
15
|
+
module Actions
|
|
16
|
+
# Retrieves the specified query group. If no query group is specified, all query groups in the cluster are retrieved.
|
|
17
|
+
#
|
|
18
|
+
# @option args [String] :name The name of the query group.
|
|
19
|
+
def get_query_group(args = {})
|
|
20
|
+
args = Utils.clone_and_normalize_arguments(args)
|
|
21
|
+
_name = args.delete('name')
|
|
22
|
+
|
|
23
|
+
headers = args.delete('headers') || {}
|
|
24
|
+
body = args.delete('body')
|
|
25
|
+
method = 'GET'
|
|
26
|
+
url = Utils.build_url('_wlm/query_group', _name)
|
|
27
|
+
|
|
28
|
+
Utils.validate_query_params! args
|
|
29
|
+
transport.perform_request(method, url, args, body, headers).body
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
#
|
|
3
|
+
# The OpenSearch Contributors require contributions made to
|
|
4
|
+
# this file be licensed under the Apache-2.0 license or a
|
|
5
|
+
# compatible open source license.
|
|
6
|
+
|
|
7
|
+
# This file is generated from the OpenSearch REST API spec.
|
|
8
|
+
# Do not modify it by hand. Instead, modify the generator or the spec.
|
|
9
|
+
|
|
10
|
+
# frozen_string_literal: true
|
|
11
|
+
|
|
12
|
+
module OpenSearch
|
|
13
|
+
module API
|
|
14
|
+
module Wlm
|
|
15
|
+
module Actions
|
|
16
|
+
# Updates the specified query group.
|
|
17
|
+
#
|
|
18
|
+
# @option args [String] :name *Required* The name of the query group.
|
|
19
|
+
# @option args [Hash] :body *Required*
|
|
20
|
+
def update_query_group(args = {})
|
|
21
|
+
args = Utils.clone_and_normalize_arguments(args)
|
|
22
|
+
raise ArgumentError, "Required argument 'name' missing" if args['name'].nil?
|
|
23
|
+
raise ArgumentError, "Required argument 'body' missing" if args['body'].nil?
|
|
24
|
+
|
|
25
|
+
_name = args.delete('name')
|
|
26
|
+
|
|
27
|
+
headers = args.delete('headers') || {}
|
|
28
|
+
body = args.delete('body')
|
|
29
|
+
method = 'PUT'
|
|
30
|
+
url = Utils.build_url('_wlm/query_group', _name)
|
|
31
|
+
|
|
32
|
+
Utils.validate_query_params! args
|
|
33
|
+
transport.perform_request(method, url, args, body, headers).body
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
#
|
|
3
|
+
# The OpenSearch Contributors require contributions made to
|
|
4
|
+
# this file be licensed under the Apache-2.0 license or a
|
|
5
|
+
# compatible open source license.
|
|
6
|
+
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
module OpenSearch
|
|
10
|
+
module API
|
|
11
|
+
module Http
|
|
12
|
+
module Actions
|
|
13
|
+
# Make a customized CONNECT request.
|
|
14
|
+
#
|
|
15
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
16
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
17
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
18
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
19
|
+
def connect(url, headers: {}, body: nil, params: {})
|
|
20
|
+
request('CONNECT', url, headers: headers, body: body, params: params)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Make a customized DELETE request.
|
|
24
|
+
#
|
|
25
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
26
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
27
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
28
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
29
|
+
def delete(url, headers: {}, body: nil, params: {})
|
|
30
|
+
request('DELETE', url, headers: headers, body: body, params: params)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Make a customized GET request.
|
|
34
|
+
#
|
|
35
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
36
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
37
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
38
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
39
|
+
def get(url, headers: {}, body: nil, params: {})
|
|
40
|
+
request('GET', url, headers: headers, body: body, params: params)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Make a customized HEAD request.
|
|
44
|
+
#
|
|
45
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
46
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
47
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
48
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
49
|
+
def head(url, headers: {}, body: nil, params: {})
|
|
50
|
+
request('HEAD', url, headers: headers, body: body, params: params)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Make a customized OPTIONS request.
|
|
54
|
+
#
|
|
55
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
56
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
57
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
58
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
59
|
+
def options(url, headers: {}, body: nil, params: {})
|
|
60
|
+
request('OPTIONS', url, headers: headers, body: body, params: params)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Make a customized POST request.
|
|
64
|
+
#
|
|
65
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
66
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
67
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
68
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
69
|
+
def post(url, headers: {}, body: nil, params: {})
|
|
70
|
+
request('POST', url, headers: headers, body: body, params: params)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Make a customized PUT request.
|
|
74
|
+
#
|
|
75
|
+
# @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
|
|
76
|
+
# @option arguments [Hash] :params Querystring parameters to be appended to the path
|
|
77
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
|
78
|
+
# @option arguments [String | Hash | Array<Hash>] :body The body of the request
|
|
79
|
+
def put(url, headers: {}, body: nil, params: {})
|
|
80
|
+
request('PUT', url, headers: headers, body: body, params: params)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
private
|
|
84
|
+
|
|
85
|
+
def request(method, url, headers: {}, body: nil, params: {})
|
|
86
|
+
body = OpenSearch::API::Utils.bulkify(body) if body.is_a?(Array)
|
|
87
|
+
headers.merge!('Content-Type' => 'application/x-ndjson') if body.is_a?(Array)
|
|
88
|
+
|
|
89
|
+
transport.perform_request(method, url, params, body, headers).body
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
#
|
|
3
|
+
# The OpenSearch Contributors require contributions made to
|
|
4
|
+
# this file be licensed under the Apache-2.0 license or a
|
|
5
|
+
# compatible open source license.
|
|
6
|
+
|
|
7
|
+
# frozen_string_literal: true
|
|
8
|
+
|
|
9
|
+
module OpenSearch
|
|
10
|
+
module API
|
|
11
|
+
# A child-client housing all the actions for a specific namespace
|
|
12
|
+
class Namespace
|
|
13
|
+
attr_reader :transport
|
|
14
|
+
|
|
15
|
+
# @param [OpenSearch::Transport::Client] transport
|
|
16
|
+
# @param [Module] ns_actions the module containing the API actions for this namespace
|
|
17
|
+
def initialize(transport, ns_actions)
|
|
18
|
+
@transport = transport
|
|
19
|
+
send :extend, ns_actions
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/opensearch/api/utils.rb
CHANGED
|
@@ -3,96 +3,56 @@
|
|
|
3
3
|
# The OpenSearch Contributors require contributions made to
|
|
4
4
|
# this file be licensed under the Apache-2.0 license or a
|
|
5
5
|
# compatible open source license.
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
#
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
# ownership. Elasticsearch B.V. licenses this file to you under
|
|
14
|
-
# the Apache License, Version 2.0 (the "License"); you may
|
|
15
|
-
# not use this file except in compliance with the License.
|
|
16
|
-
# You may obtain a copy of the License at
|
|
17
|
-
#
|
|
18
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
#
|
|
20
|
-
# Unless required by applicable law or agreed to in writing,
|
|
21
|
-
# software distributed under the License is distributed on an
|
|
22
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
23
|
-
# KIND, either express or implied. See the License for the
|
|
24
|
-
# specific language governing permissions and limitations
|
|
25
|
-
# under the License.
|
|
6
|
+
|
|
7
|
+
# This file is generated from the OpenSearch REST API spec.
|
|
8
|
+
# Do not modify it by hand. Instead, modify the generator or the spec
|
|
9
|
+
|
|
10
|
+
# frozen_string_literal: true
|
|
11
|
+
|
|
12
|
+
require 'cgi'
|
|
26
13
|
|
|
27
14
|
module OpenSearch
|
|
28
15
|
module API
|
|
29
|
-
# Generic utility methods
|
|
30
|
-
#
|
|
31
16
|
module Utils
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
CGI.escape(string.to_s)
|
|
17
|
+
NON_URL_ARGS = Set.new(%w[body headers ignore]).freeze
|
|
18
|
+
BULK_OPERATIONS = Set.new(%w[index create delete update]).freeze
|
|
19
|
+
|
|
20
|
+
# @return a new hash with all keys converted to strings and url param values escaped
|
|
21
|
+
# @param [Hash] args
|
|
22
|
+
def self.clone_and_normalize_arguments(args)
|
|
23
|
+
args.each_with_object({}) do |(k, v), acc|
|
|
24
|
+
k = k.to_s
|
|
25
|
+
acc[k] = NON_URL_ARGS.include?(k) ? v : normalize_value(v)
|
|
26
|
+
end
|
|
43
27
|
end
|
|
44
28
|
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
#
|
|
56
|
-
# @example Do not escape the values
|
|
57
|
-
# __listify('foo','bar^bam', escape: false) # => 'foo,bar^bam'
|
|
58
|
-
#
|
|
59
|
-
# @api private
|
|
60
|
-
def __listify(*list)
|
|
61
|
-
options = list.last.is_a?(Hash) ? list.pop : {}
|
|
29
|
+
# @param [Hash] params the query params to validate
|
|
30
|
+
# @param [Set<String>] valid_param_names the list of valid params names for the api method
|
|
31
|
+
def self.validate_query_params!(params, valid_param_names = nil)
|
|
32
|
+
return if OpenSearch::API.settings[:skip_parameter_validation]
|
|
33
|
+
params.each_key do |k|
|
|
34
|
+
next if valid_param_names&.include?(k)
|
|
35
|
+
next if GLOBAL_QUERY_PARAMS.include?(k)
|
|
36
|
+
raise ArgumentError, "URL parameter '#{k}' is not supported"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
62
39
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
.join(',')
|
|
40
|
+
# @return the value escaped for URL unless it is a Hash
|
|
41
|
+
def self.normalize_value(value)
|
|
42
|
+
return value.clone if value.is_a? Hash
|
|
43
|
+
value = value.to_s.strip unless value.is_a? Enumerable
|
|
44
|
+
value = value.split(',') if value.is_a? String
|
|
45
|
+
value.map { |v| CGI.escape(v.to_s) }.join(',')
|
|
70
46
|
end
|
|
71
47
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
# @example Create a path from array
|
|
75
|
-
# __pathify(['foo', '', nil, 'bar']) # => 'foo/bar'
|
|
76
|
-
#
|
|
77
|
-
# @example Create a path from arguments
|
|
78
|
-
# __pathify('foo', '', nil, 'bar') # => 'foo/bar'
|
|
79
|
-
#
|
|
80
|
-
# # @example Encode special characters
|
|
81
|
-
# __pathify(['foo', 'bar^bam']) # => 'foo/bar%5Ebam'
|
|
82
|
-
#
|
|
83
|
-
# @api private
|
|
84
|
-
def __pathify(*segments)
|
|
85
|
-
Array(segments).flatten
|
|
86
|
-
.compact
|
|
87
|
-
.reject { |s| s.to_s.strip.empty? }
|
|
88
|
-
.join('/')
|
|
89
|
-
.squeeze('/')
|
|
48
|
+
def self.build_url(*parts)
|
|
49
|
+
parts.compact.join('/').squeeze('/')
|
|
90
50
|
end
|
|
91
51
|
|
|
92
52
|
# Convert an array of payloads into OpenSearch `header\ndata` format
|
|
93
53
|
#
|
|
94
54
|
# Supports various different formats of the payload: Array of Strings, Header/Data pairs,
|
|
95
|
-
# or the
|
|
55
|
+
# or the convenient "combined" format where data is passed along with the header
|
|
96
56
|
# in a single item.
|
|
97
57
|
#
|
|
98
58
|
# OpenSearch::API::Utils.__bulkify [
|
|
@@ -104,13 +64,13 @@ module OpenSearch
|
|
|
104
64
|
# # => {"title":"Test"}
|
|
105
65
|
# # => {"update":{"_index":"myindexB","_id":"2"}}
|
|
106
66
|
# # => {"doc":{"title":"Update"}}
|
|
107
|
-
#
|
|
108
|
-
def
|
|
109
|
-
|
|
67
|
+
# TODO: refactor this method to be more readable
|
|
68
|
+
def self.bulkify(payload)
|
|
69
|
+
return payload unless payload.is_a?(Array)
|
|
110
70
|
|
|
111
71
|
# Hashes with `:data`
|
|
112
72
|
if payload.any? do |d|
|
|
113
|
-
d.is_a?(Hash) && d.values.first.is_a?(Hash) &&
|
|
73
|
+
d.is_a?(Hash) && d.values.first.is_a?(Hash) && BULK_OPERATIONS.include?(d.keys.first.to_s) && (d.values.first[:data] || d.values.first['data'])
|
|
114
74
|
end
|
|
115
75
|
payload = payload
|
|
116
76
|
.each_with_object([]) do |item, sum|
|
|
@@ -134,163 +94,8 @@ module OpenSearch
|
|
|
134
94
|
payload << ''
|
|
135
95
|
end
|
|
136
96
|
|
|
137
|
-
payload
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
# Validates the argument Hash against common and valid API parameters
|
|
141
|
-
#
|
|
142
|
-
# @param arguments [Hash] Hash of arguments to verify and extract, **with symbolized keys**
|
|
143
|
-
# @param valid_params [Array<Symbol>] An array of symbols with valid keys
|
|
144
|
-
#
|
|
145
|
-
# @return [Hash] Return whitelisted Hash
|
|
146
|
-
# @raise [ArgumentError] If the arguments Hash contains invalid keys
|
|
147
|
-
#
|
|
148
|
-
# @example Extract parameters
|
|
149
|
-
# __validate_and_extract_params( { :foo => 'qux' }, [:foo, :bar] )
|
|
150
|
-
# # => { :foo => 'qux' }
|
|
151
|
-
#
|
|
152
|
-
# @example Raise an exception for invalid parameters
|
|
153
|
-
# __validate_and_extract_params( { :foo => 'qux', :bam => 'mux' }, [:foo, :bar] )
|
|
154
|
-
# # ArgumentError: "URL parameter 'bam' is not supported"
|
|
155
|
-
#
|
|
156
|
-
# @example Skip validating parameters
|
|
157
|
-
# __validate_and_extract_params( { :foo => 'q', :bam => 'm' }, [:foo, :bar], { skip_parameter_validation: true } )
|
|
158
|
-
# # => { :foo => "q", :bam => "m" }
|
|
159
|
-
#
|
|
160
|
-
# @example Skip validating parameters when the module setting is set
|
|
161
|
-
# OpenSearch::API.settings[:skip_parameter_validation] = true
|
|
162
|
-
# __validate_and_extract_params( { :foo => 'q', :bam => 'm' }, [:foo, :bar] )
|
|
163
|
-
# # => { :foo => "q", :bam => "m" }
|
|
164
|
-
#
|
|
165
|
-
# @api private
|
|
166
|
-
#
|
|
167
|
-
def __validate_and_extract_params(arguments, params = [], options = {})
|
|
168
|
-
if options[:skip_parameter_validation] || OpenSearch::API.settings[:skip_parameter_validation]
|
|
169
|
-
arguments
|
|
170
|
-
else
|
|
171
|
-
__validate_params(arguments, params)
|
|
172
|
-
__extract_params(arguments, params, options.merge(escape: false))
|
|
173
|
-
end
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
def __validate_params(arguments, valid_params = [])
|
|
177
|
-
arguments.each do |k, _v|
|
|
178
|
-
raise ArgumentError, "URL parameter '#{k}' is not supported" \
|
|
179
|
-
unless COMMON_PARAMS.include?(k) || COMMON_QUERY_PARAMS.include?(k) || valid_params.include?(k)
|
|
180
|
-
end
|
|
97
|
+
payload.join("\n")
|
|
181
98
|
end
|
|
182
|
-
|
|
183
|
-
def __extract_params(arguments, params = [], options = {})
|
|
184
|
-
result = arguments.select { |k, _v| COMMON_QUERY_PARAMS.include?(k) || params.include?(k) }
|
|
185
|
-
result = result.to_h unless result.is_a?(Hash) # Normalize Ruby 1.8 and Ruby 1.9 Hash#select behaviour
|
|
186
|
-
result.map { |k, v| v.is_a?(Array) ? [k, __listify(v, options)] : [k, v] }.to_h # Listify Arrays
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
# Extracts the valid parts of the URL from the arguments
|
|
190
|
-
#
|
|
191
|
-
# @note Mutates the `arguments` argument, to prevent failures in `__validate_and_extract_params`.
|
|
192
|
-
#
|
|
193
|
-
# @param arguments [Hash] Hash of arguments to verify and extract, **with symbolized keys**
|
|
194
|
-
# @param valid_parts [Array<Symbol>] An array of symbol with valid keys
|
|
195
|
-
#
|
|
196
|
-
# @return [Array<String>] Valid parts of the URL as an array of strings
|
|
197
|
-
#
|
|
198
|
-
# @example Extract parts
|
|
199
|
-
# __extract_parts { :foo => true }, [:foo, :bar]
|
|
200
|
-
# # => [:foo]
|
|
201
|
-
#
|
|
202
|
-
#
|
|
203
|
-
# @api private
|
|
204
|
-
#
|
|
205
|
-
def __extract_parts(arguments, valid_parts = [])
|
|
206
|
-
parts = arguments.select { |k, _v| valid_parts.include?(k) }.to_h
|
|
207
|
-
parts = parts.reduce([]) do |sum, item|
|
|
208
|
-
k, v = item
|
|
209
|
-
sum << (v.is_a?(TrueClass) ? k.to_s : v)
|
|
210
|
-
end
|
|
211
|
-
|
|
212
|
-
arguments.delete_if { |k, _v| valid_parts.include? k }
|
|
213
|
-
parts
|
|
214
|
-
end
|
|
215
|
-
|
|
216
|
-
# Calls the given block, rescuing from `StandardError`.
|
|
217
|
-
#
|
|
218
|
-
# Primary use case is the `:ignore` parameter for API calls.
|
|
219
|
-
#
|
|
220
|
-
# Returns `false` if exception contains NotFound in its class name or message,
|
|
221
|
-
# else re-raises the exception.
|
|
222
|
-
#
|
|
223
|
-
# @yield [block] A block of code to be executed with exception handling.
|
|
224
|
-
#
|
|
225
|
-
# @api private
|
|
226
|
-
#
|
|
227
|
-
def __rescue_from_not_found
|
|
228
|
-
yield
|
|
229
|
-
rescue StandardError => e
|
|
230
|
-
raise e unless e.class.to_s =~ /NotFound/ || e.message =~ /Not\s*Found/i
|
|
231
|
-
false
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
def __report_unsupported_parameters(arguments, params = [])
|
|
235
|
-
messages = []
|
|
236
|
-
unsupported_params = params.select do |d|
|
|
237
|
-
d.is_a?(Hash) ? arguments.include?(d.keys.first) : arguments.include?(d)
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
unsupported_params.each do |param|
|
|
241
|
-
name = case param
|
|
242
|
-
when Symbol
|
|
243
|
-
param
|
|
244
|
-
when Hash
|
|
245
|
-
param.keys.first
|
|
246
|
-
else
|
|
247
|
-
raise ArgumentError, 'The param must be a Symbol or a Hash'
|
|
248
|
-
end
|
|
249
|
-
|
|
250
|
-
explanation = if param.is_a?(Hash)
|
|
251
|
-
". #{param.values.first[:explanation]}."
|
|
252
|
-
else
|
|
253
|
-
". This parameter is not supported in the version you're using: #{OpenSearch::VERSION}, and will be removed in the next release."
|
|
254
|
-
end
|
|
255
|
-
|
|
256
|
-
message = "[!] You are using unsupported parameter [:#{name}]"
|
|
257
|
-
|
|
258
|
-
if (source = caller&.last)
|
|
259
|
-
message += " in `#{source}`"
|
|
260
|
-
end
|
|
261
|
-
|
|
262
|
-
message += explanation
|
|
263
|
-
|
|
264
|
-
messages << message
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
return if messages.empty?
|
|
268
|
-
|
|
269
|
-
messages << 'Suppress this warning by the `-WO` command line flag.'
|
|
270
|
-
|
|
271
|
-
if $stderr.tty?
|
|
272
|
-
Kernel.warn messages.map { |m| "\e[31;1m#{m}\e[0m" }.join("\n")
|
|
273
|
-
else
|
|
274
|
-
Kernel.warn messages.join("\n")
|
|
275
|
-
end
|
|
276
|
-
end
|
|
277
|
-
|
|
278
|
-
def __report_unsupported_method(name)
|
|
279
|
-
message = "[!] You are using unsupported method [#{name}]"
|
|
280
|
-
if (source = caller&.last)
|
|
281
|
-
message += " in `#{source}`"
|
|
282
|
-
end
|
|
283
|
-
|
|
284
|
-
message += ". This method is not supported in the version you're using: #{OpenSearch::VERSION}, and will be removed in the next release. Suppress this warning by the `-WO` command line flag."
|
|
285
|
-
|
|
286
|
-
if $stderr.tty?
|
|
287
|
-
Kernel.warn "\e[31;1m#{message}\e[0m"
|
|
288
|
-
else
|
|
289
|
-
Kernel.warn message
|
|
290
|
-
end
|
|
291
|
-
end
|
|
292
|
-
|
|
293
|
-
extend self
|
|
294
99
|
end
|
|
295
100
|
end
|
|
296
101
|
end
|