Generated banner for Amazon Opensearch Service
Generated logo for Amazon Opensearch Service

Amazon Opensearch Service

AWSOfficialPublished by AWS

  • Skill
  • Workflow
  • Cloud and DevOps
  • Apache-2.0
  • Low risk

From the author

Guides migration, provisioning, search, log-analytics, trace-analytics, and Agentic AI Assistant workflows for Amazon OpenSearch Service and Serverless across six capabilities — migration (Solr/ES/self-managed into AOS/AOSS, schema/query translation, sizing, cutover); provisioning (domain + AOSS lifecycle, upgrades, FGAC, monitoring); search (vector / semantic / hybrid / RAG with Bedrock); log-analytics (PPL, OSI, anomaly detection, Dashboards); trace-analytics (OTel spans, service maps, Data Prepper); ai-assistant (natural language data exploration, incident investigation, root cause analysis). Triggers on OpenSearch, AOS, AOSS, Elasticsearch, Solr, vector/k-NN/semantic/hybrid search, RAG, log analytics, PPL, trace analytics, ISM, FAISS, HNSW, Migration Assistant, UltraWarm, OR1, query my data, analyze logs, investigate errors, root cause analysis.
— the description by AWS

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a unified framework for interacting with Amazon OpenSearch Service (AOS) and OpenSearch Serverless (AOSS). It covers the full lifecycle of OpenSearch operations, including migration from legacy systems like Solr or Elasticsearch, infrastructure provisioning, advanced search implementation (including vector and RAG), and observability through log and trace analytics. It also features an Agentic AI Assistant for natural language data exploration and incident investigation, ensuring users can navigate complex cluster management and data analysis tasks without manual query crafting.

What it does

  • Guides migration workflows from Solr, Elasticsearch, or self-managed OpenSearch to AOS/AOSS.
  • Assists with provisioning, lifecycle management, and monitoring of domains and collections.
  • Facilitates implementation of vector, semantic, and hybrid search, including RAG with Bedrock.
  • Supports log and trace analytics using PPL, OpenTelemetry, and anomaly detection.
  • Provides an Agentic AI Assistant for natural language querying and automated incident root cause analysis.
  • Enforces operational best practices for sharding, storage tiering, and security configurations.

When to use it

  • When planning a migration from legacy search engines to Amazon OpenSearch Service.
  • When setting up or optimizing search capabilities, including vector search and RAG.
  • When troubleshooting cluster health, performance, or shard allocation issues.
  • When performing log or trace analysis to investigate system incidents.
  • When you need to generate optimized PPL or DSL queries using natural language.

Advantages

  • Centralizes complex operational knowledge across six distinct OpenSearch capabilities.
  • Reduces manual query complexity by leveraging the Agentic AI Assistant.
  • Provides clear, actionable guidance on production failure modes and migration blockers.
  • Standardizes interactions through consistent CLI and data-plane patterns.
  • Promotes architectural best practices for scaling and cost-effective storage tiering.

Usage examples

“How do I migrate my existing Solr index to Amazon OpenSearch Service?”
The agent identifies the migration capability, explains that Solr to OpenSearch is a refactor migration, and guides you through using the Migration Assistant for data backfill.
“Why is my cluster status yellow and how can I fix it?”
The agent uses the AI Assistant capability to analyze cluster health, check shard allocation, and provide specific commands or steps to resolve unassigned shards.
“Help me set up a RAG pipeline using Bedrock and my OpenSearch domain.”
The agent routes to the search capability, providing instructions on configuring Bedrock connectors and vector index mappings for semantic retrieval.
“Find the root cause of the 503 errors in my application logs from the last hour.”
The agent utilizes the AI Assistant to query logs, perform time-series analysis, and correlate findings to identify the likely root cause of the errors.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/aws/amazon-opensearch-service/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip amazon-opensearch-service.zip -d .agents/skills

Documentation by AWS

Amazon OpenSearch Service — the unified skill

This skill answers anything about Amazon OpenSearch Service or Serverless across six capabilities. Step 0 below routes the question to ONE capability and points at that capability's entry-point reference. Everything else — when to dispatch, sub-references, capability-specific facts, cross-capability links — lives in the entry-point reference for that capability.

AWS MCP server is recommended, not required. Capability references show standard AWS CLI commands as the primary syntax (e.g., aws opensearch describe-domain, aws opensearchserverless create-collection). Where the AWS MCP server is available, its call_aws tool offers a streamlined alternative — but every operation in this skill MUST work via the AWS CLI alone. Data-plane HTTP calls against AOS / AOSS use awscurl for SigV4-signed requests; this works in both contexts.

Step 0: detect the capability — first thing you do

Pick one of the six capabilities below. State the detected capability in your first sentence (e.g., "Detected capability: SEARCH — semantic search setup with Bedrock embeddings."). Then load the entry-point reference; that file describes when to dispatch, indexes the rest of the capability's files, and routes you to the next step.

CapabilityEntry-point reference
migration — Solr / Elasticsearch / self-managed OpenSearch into AOS or AOSS. Schema/query translation, sizing, cutover.references/assessment-workflow.md
provisioning — Provisioning and managing AOS domains and AOSS collections. Lifecycle, upgrades, storage tiers, FGAC, monitoring.references/provisioning-reference.md
search — Vector / semantic / hybrid / sparse / dense / RAG retrieval. Bedrock connectors, FAISS HNSW vs Lucene.references/search-semantic-search-guide.md
log-analytics — Log search, observability, PPL, OSI ingestion, anomaly detection, OpenSearch Dashboards. Splunk/Datadog/ELK alternatives.references/log-analytics-guide.md
trace-analytics — Distributed traces with OpenTelemetry. Span queries, service maps, Data Prepper.references/trace-analytics-trace-queries.md
ai-assistant — Agentic AI Assistant: auto-discovers indices, generates optimized PPL/DSL queries, summarizes results, and investigates incidents end-to-end. No manual query crafting needed.references/ai-assistant.md

If a prompt spans capabilities (e.g., "migrate from Solr AND set up RAG on the new domain"), pick the dominant capability for the response and close with a one-line handoff to the other capability's entry-point ref.

Universal rules (apply to ALL capabilities)

These rules apply to every response, regardless of capability. Capability-specific rules (sizing math, shape detection, Migration Assistant for Amazon OpenSearch Service capability matrix, k-NN engine selection) live in the entry-point references, not here.

  • Report header (every multi-section response). Begin every multi-section response with a single fenced metadata block: > Generated: <ISO 8601 timestamp> | Skill: amazon-opensearch-service v<N>. Get the time by calling the current_time tool (returns ISO 8601 in UTC). Read the skill version from this file's frontmatter version: field. For one-line answers (terse FOCUSED_OPERATIONAL replies, anti-pattern refusals) the header is optional; for any multi-section deliverable it is REQUIRED. Place it immediately after the report title and before the first ## heading.

  • No dollar estimates (HARD CONSTRAINT). Never produce $X/month, ~$1,500, or any dollar figure. Route every cost question to https://calculator.aws and stop. If a sub-reference contains dollar figures, treat them as informational context only and do NOT pass them through to the user.

  • No credential leakage (HARD CONSTRAINT). Never include master usernames, KMS key ARNs, VPC endpoint URLs, instance IPs, or account IDs in generated output.

  • Pick one for every A-vs-B decision. Name a primary recommendation in one line with a one-sentence reason. A "go with B if..." caveat is allowed AFTER the primary; never lead with conditional-only guidance.

  • Source restatement. The first 2–3 sentences must restate the source (engine + version + scale) when known, or restate the customer's question in concrete terms. The very first text the user sees must NOT be tool narration, meta-commentary, the report title, or simply restating the question verbatim.

  • No marketing tone. Do NOT use "seamless", "robust", "best-in-class", "production-hardened", "enterprise-grade", "world-class", "cleanly", "elegant". Do NOT stack 3+ vague hedges ("typically", "generally", "usually", "in most cases") in a single recommendation — be specific about when it does and does not apply.

  • Cross-capability handoff. When a user prompt spans capabilities (e.g., "migrate from Solr AND set up RAG on the new domain"), pick the dominant capability for the response, then close with a one-line handoff: "For <other capability>, see references/<other-capability>-<entry>.md."

Cross-cutting references (used across multiple capabilities)

These references are not capability-prefixed because they apply across capabilities. Capability entry-point references load them when relevant; SKILL.md never loads them directly.

Assets (assets/): report templates for FULL_ASSESSMENT renderings (Solr-source, ES-source, executive summary).

What this skill does NOT do

  • Estimate dollar costs. Pricing changes monthly and account-specific (RI, Savings Plan, EDP) discount math is outside this skill's reliable scope. Use https://calculator.aws.

  • Move data. Use Migration Assistant for Amazon OpenSearch Service (Historical Data Migration for backfill, Live Traffic Migration for live cutover).

  • Build embedding models. Use Amazon Bedrock or SageMaker.

  • Replace Splunk SPL or Datadog APM 1:1. Some queries / detectors / dashboards need rewriting.

  • Tune relevance for a specific catalog. Use OpenSearch Benchmark big5 workload + your own judgment list.

Guardrail — where this skill's own files live (MCP vs local install)

This skill can be loaded two ways, and they resolve the skill's own bundled files from different places. Determine how the skill was loaded before reading a reference or running a script:

  • Loaded through the AWS MCP server's retrieve_skill tool: The skill is not installed on the local filesystem. You MUST fetch each reference or script via retrieve_skill with the file parameter (e.g. file="references/architecture.md" or file="scripts/deploy.py"), and run the script from the returned content. Do NOT file_read these paths locally — they do not exist on disk.

  • Installed locally (e.g. .kiro/skills/your-skill/ or ~/.claude/skills/your-skill/): Read and run files from the local skill directory using relative paths.

This distinction applies only to the skill's own packaged files. User data and session artifacts are always read from and written to the user's working directory. Never fetch or write customer data through retrieve_skill.

Files

references/observability.md

Observability with Amazon OpenSearch

The summary version is in SKILL.md (§ Logs & observability). This file owns the deep playbooks: ISM lifecycle, Splunk/Datadog migration, Trace Analytics, alerting, cost optimization at scale.

Why OpenSearch for observability

  • Apache 2.0 license — no per-host or per-GB ingestion tax (unlike Splunk/Datadog).

  • OpenTelemetry-native end-to-end. Logs/traces/metrics in one engine.

  • PPL (Piped Processing Language) for logs/traces; PromQL for metrics.

  • Trace Analytics built-in: service map, latency views, RED metrics computed from traces.

  • Alerting plugin with native SNS/Lambda/Slack destinations.

  • Cost predictability: cluster cost only; no surprise per-GB ingestion bill.

Observability features are exposed in OpenSearch UI (the newer dashboards experience), not the older OpenSearch Dashboards.

ISM lifecycle (the standard pattern)

hot (gp3 EBS, 0–7 days) → UltraWarm (S3-backed, 7–90 days) → Cold (S3, 90–365 days) → delete
Key thresholds
  • UltraWarm cost-effective at ≥ ~2.5 TiB hot data

  • UltraWarm storage: $0.024/GiB-month

  • Cold storage: $0.022/GiB-month, no compute attached

  • Per-node shard cap (current values): see sizing.md §Topology defaults.

Sample ISM policy (hot → warm → cold → delete)
{
  "policy": {
    "description": "Hot 7d, warm 83d, cold 275d, delete after 365d",
    "default_state": "hot",
    "states": [
      {
        "name": "hot",
        "actions": [{ "rollover": { "min_size": "30gb", "min_index_age": "7d" } }],
        "transitions": [{ "state_name": "warm", "conditions": { "min_index_age": "7d" } }]
      },
      {
        "name": "warm",
        "actions": [{ "warm_migration": {} }],
        "transitions": [{ "state_name": "cold", "conditions": { "min_index_age": "90d" } }]
      },
      {
        "name": "cold",
        "actions": [{ "cold_migration": {} }],
        "transitions": [{ "state_name": "delete", "conditions": { "min_index_age": "365d" } }]
      },
      {
        "name": "delete",
        "actions": [{ "cold_delete": {} }]
      }
    ],
    "ism_template": [{ "index_patterns": ["logs-*"] }]
  }
}
ISM gotchas
  • ISM jobs run every 5–8 minutes (or 30–48 min on pre-1.3 clusters)

  • AWS-specific operations: warm_migration, cold_migration, cold_delete (idempotent — operations continue past timeout)

  • open and close ops require ES/OS 7.4+; snapshot op requires 7.7+

  • AWS-managed ISM cluster settings are restricted: only plugins.index_state_management.enabled, .history.enabled, and .rollover_alias are user-tunable

  • Cold storage is NOT directly queryable — must thaw to UltraWarm before query (minutes-to-hours)

  • ISM templates with ism_template.index_patterns apply on index creation; existing indexes need explicit _opendistro/_ism/add/<index> call

Index naming for time-series

PatternWhen
logs-app-2026-06-01Daily rotation; high-volume
logs-app-2026-06Monthly; low-volume
logs-app-000001Rollover alias; let ISM rollover at size/age

ISM rollover is preferred — it manages the date math for you. Configure with min_size: 30gb (search) or min_size: 50gb (logs) and min_index_age: 1d.

Trace Analytics

OpenSearch has built-in Trace Analytics:

  • Service map: visualize service-to-service dependencies, latencies, error rates

  • RED metrics (Rate, Errors, Duration) per service, computed from traces

  • Indexes follow otel-v1-apm-span-* and otel-v1-apm-service-map-*

  • Ingest via OpenSearch Ingestion with the OTel processor, or directly via OTel Collector with the OpenSearch exporter

OTel pipeline (OSI)
otel-trace-pipeline:
  source:
    otel_trace_source: {}
  processor:
    - otel_trace_raw: {}
    - otel_trace_group: {}
  sink:
    - opensearch:
        index_type: "trace-analytics-raw"

Alerting

Native Alerting plugin:

  • Per-monitor schedule: 1 minute minimum (cron or interval)

  • Trigger types: query-based (search hits exceed threshold), aggregation, anomaly detector signal

  • Destinations: SNS, Slack, Chime, custom webhook, Microsoft Teams, email

  • Notification channels centralize destinations (configure once, reuse across monitors)

Sample monitor
{
  "name": "5xx error spike",
  "type": "monitor",
  "monitor_type": "query_level_monitor",
  "schedule": { "period": { "interval": 1, "unit": "MINUTES" } },
  "inputs": [{
    "search": {
      "indices": ["logs-app-*"],
      "query": {
        "size": 0,
        "query": {
          "bool": {
            "must": [
              { "range": { "@timestamp": { "gte": "now-5m", "lt": "now" } } },
              { "range": { "status": { "gte": 500 } } }
            ]
          }
        },
        "aggs": { "error_count": { "value_count": { "field": "_id" } } }
      }
    }
  }],
  "triggers": [{
    "name": "100+ errors in 5min",
    "condition": { "script": { "source": "ctx.results[0].aggregations.error_count.value > 100", "lang": "painless" } },
    "actions": [{ "destination_id": "<sns-destination>", "subject_template": { "source": "5xx spike", "lang": "mustache" } }]
  }]
}

PPL (Piped Processing Language)

PPL is the SQL/Splunk-style query language for logs. Pipe-separated commands.

Examples
source=logs-app-2026-06-01 | where status >= 500 | stats count() by service | sort -count() | head 10
source=logs-app-* | where @timestamp >= now() - 1h | parse uri "(?<endpoint>/api/[^?]+)" | stats avg(latency_ms), percentile(latency_ms, 99) by endpoint
source=logs-app-* | eval is_error = if(status >= 500, 1, 0) | stats sum(is_error) as errors, count() as total by service | eval error_rate = errors / total | where error_rate > 0.01

Common PPL operators: where, stats, fields, eval, dedup, sort, head, tail, parse, rename, top. For the full command and function catalog (time-series, join/transform, all function families, _explain), see observability-ppl-reference.md.

Replacing Splunk

Splunk conceptOpenSearch equivalent
IndexIndex
SourcetypeField (often service, source)
Search head / indexer splitCoordinator / data nodes (mostly transparent on AOS)
SPL queriesPPL or DSL — most queries need rewrite
DashboardsOpenSearch Dashboards / OpenSearch UI
Saved searchesSaved searches in Dashboards
AlertsAlerting plugin
Apps (e.g., Splunk ES)Security Analytics plugin (subset)
Universal ForwarderFluent Bit, Fluentd, OTel Collector, Filebeat-OSS
Heavy ForwarderData Prepper / OpenSearch Ingestion
Indexer clusterOpenSearch domain
Search head clusterMulti-AZ data nodes

Migration scoping is anchored on detector / dashboard / pipeline count + complexity classification, not on calendar duration. Wall-clock depends on team size, parallelism, and reuse pace — pacing is the customer's call, not the skill's.

The streams that decompose any Splunk replatform:

  • Discovery — inventory every SPL query, dashboard, alert, scheduled search, and custom app. The output is a count by category and a first-pass classification (see below). This is mandatory step 1 — without it the rest is a guess.

  • Data pipeline migration — forwarders (UF / HF) → OpenSearch Ingestion or Fluent Bit / OTel.

  • Query and dashboard rewrite — SPL → PPL or DSL. Classify each detector / saved-search:

    • PPL-translatable (search → stats / where / sort / dedup / fields) — typically the majority. Mechanical mapping; pattern reuse dominates after the first ~10.

    • DSL hand-translation required — correlation searches, multi-search joins, transactions, lookups against external KV stores, complex eventstats — these don't have a clean PPL form and need rewriting against the Query DSL or restructured against _msearch / aggregations.

  • Alert / detector rewrite — onto the Alerting plugin (monitors + triggers + destinations) and Anomaly Detection plugin where applicable; Security Analytics for security-domain detectors.

  • Parallel-run validation — both stacks live, side-by-side, until detector parity is confirmed.

When responding to a Splunk replatform prompt: NAME the concrete detector / dashboard / pipeline counts the customer gave you and break them down by classification (PPL-translatable vs DSL hand-port; trivial vs complex; correlation searches as their own bucket). Surface the parallelism lever — "can be compressed by splitting across N engineers" — without declaring a wall-clock. Do NOT produce week / month / sprint estimates for coding effort: a dedicated team will deliver much faster than a generic estimate suggests, and the customer's own staffing decides the calendar.

Replacing Datadog

Datadog conceptOpenSearch equivalent
LogsOpenSearch logs (PPL queries)
APM / tracesTrace Analytics (built-in; less polished than DD)
MetricsPrometheus + AMP/Grafana, or Metric Analytics in OS UI
SyntheticsNot built-in — pair with CloudWatch Synthetics or external tool
RUMNot built-in — pair with CloudWatch RUM or external
NotebooksOpenSearch Dashboards Notebooks
Watchdog (anomaly detection)Anomaly Detection plugin
CSPM / cloud securitySecurity Analytics plugin (limited)
Workflow AutomationLambda + Alerting destinations

Honest assessment:

  • Datadog APM is more polished than OpenSearch Trace Analytics. If APM is your main use case, the gap is real.

  • For pure logs + metrics + alerting, OpenSearch is competitive at a fraction of Datadog's cost.

  • Scope the rewrite by detector / dashboard / pipeline counts and complexity classification (PPL-translatable vs DSL hand-port), and run the parallel-run validation stream until parity is confirmed. Do not declare a calendar estimate — the universal no-timeline rule applies; pacing is the customer's call.

Cost optimization at scale

The Kaltura case study

Kaltura achieved 60% cost reduction vs prior observability setup by moving to Amazon OpenSearch Service with aggressive ISM tiering. Key levers:

  1. OR1 instances for ingest tier (logs are write-heavy; OR1 is ~40% cheaper for write workloads)

  2. Aggressive ISM to UltraWarm at day 7 (or even day 3 for less-queried indexes)

  3. Cold storage for compliance retention (logs > 90 days where queries are rare)

  4. Single-AZ for non-prod observability — saves replica cost

  5. Index-per-time-bucket with ISM rollover to keep shard counts predictable

Instance family selection for log workloads

For log-analytics workloads, default to OR1 (write-heavy log profile) with UltraWarm tiering for >7-day retention. Full instance family list: sizing.md §Instance family selection. Source of truth: supported-instance-types.html.

OR1 trade-offs (observability-specific):

  • Replica simplicity: replica=1 is enough (S3 provides durability)

  • LOSES on cache-miss aggregations and k-NN graphs (RAM-bound)

  • Migration to OR1 is irreversible

Refresh interval tuning

For logs, set refresh_interval: 30s or 60s to reduce CPU overhead from frequent segment refreshes. Default 1s is search-app-tuned.

PUT logs-app-*/_settings
{ "index.refresh_interval": "30s" }
Bulk size for ingest

3–5 MiB per bulk request for general ingest; 10 MiB for OR1.

Replicas during ingest

Set number_of_replicas: 0 during initial bulk load; raise to target after. Halves storage and indexing cost during reindex.

Translog tuning

index.translog.durability:

  • request (default): fsync per request — durable, slower ingest

  • async: fsync every sync_interval (default 5s) — bigger throughput, seconds-of-data risk on crash

For non-critical observability indexes, async typically gives 2–5× ingest throughput improvement.

Force-merge after rollover

Once an index is rolled over (read-only), force-merge to 1 segment per shard:

POST logs-app-2026-06-01/_forcemerge?max_num_segments=1

Reduces segment count → improves search performance and reduces JVM overhead.

Watermarks for observability clusters

Defaults (also valid for OpenSearch):

  • low watermark: 85% — no new shards allocated to this node

  • high watermark: 90% — cluster actively relocates shards off this node

  • flood_stage: 95% — applies index.blocks.read_only_allow_delete=true on every index

This is THE most common "cluster went read-only at 3am" cause. Set up alerting on FreeStorageSpace < 25 GB or storage usage > 80%.

Logstash with OpenSearch

Important license gotcha: the default Logstash distro has a license check that rejects OpenSearch. Two workarounds:

  1. Use the OSS distro of Logstash (Apache 2.0)

  2. Use the logstash-output-opensearch plugin

Or skip Logstash entirely and use OpenSearch Ingestion (managed Data Prepper) or Fluent Bit.

Anomaly Detection plugin

Built-in Anomaly Detection plugin runs Random Cut Forest models on time-series streams. Common observability uses:

  • Detect anomalies in error rate, request rate, or latency per service

  • Drive Alerting monitors based on anomaly score

  • Train on 8+ days of historical data; updates incrementally

PUT _plugins/_anomaly_detection/detectors
{
  "name": "5xx-anomaly-detector",
  "indices": ["logs-app-*"],
  "feature_attributes": [{
    "feature_name": "5xx-rate",
    "feature_enabled": true,
    "aggregation_query": {
      "5xx_count": { "value_count": { "field": "_id" } }
    }
  }],
  "filter_query": { "range": { "status": { "gte": 500 } } },
  "detection_interval": { "period": { "interval": 1, "unit": "MINUTES" } },
  "window_delay": { "period": { "interval": 1, "unit": "MINUTES" } }
}

Common observability gotchas

  1. CloudWatch Logs subscription can pipe directly to OSI — handy bridge from CloudWatch to OpenSearch.

  2. Slow logs to CloudWatch are billable — turn them on selectively, not on all indexes.

  3. AOS automated snapshots are kept 14 days — don't rely on them as backup. Manual snapshots bill against your S3 bucket.

  4. Cross-AZ data transfer within the cluster is free; transfer between your VPC and AOS endpoint is billed normally.

  5. Master node sizing: master nodes scale with cluster size. OS 2.17+: 8 GiB master = up to 30 nodes/15K shards; 32 GiB = 120 nodes/60K shards.

  6. Dashboards multi-tenancy is enabled by FGAC — supports private and shared tenants.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an MCP server

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
AWS
Publisher
AWS (Official)
Source
aws/agent-toolkit-for-aws · plugins/aws-data-analytics/skills/amazon-opensearch-service · commit 0a218f8
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • NOTICE (added by AutoGineer from NOTICE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Also distributed in
aws/agent-toolkit-for-aws

AutoGineer is not affiliated with or endorsed by AWS or AWS.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download amazon-opensearch-service.zip