Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add input groups support #685

Merged
merged 23 commits into from
Apr 14, 2021
Merged

Add input groups support #685

merged 23 commits into from
Apr 14, 2021

Conversation

kaiyan-sheng
Copy link
Contributor

@kaiyan-sheng kaiyan-sheng commented Mar 29, 2021

This PR is to add support of input groups to package registry:

  • add policy templates into /search endpoint
  • add package level vars into /package endpoint
  • add screenshots at policy template level into /package endpoint
  • add categories at policy template level into /package endpoint
  • add input groups into /package endpoint
  • add include_policy_templates query parameter for /categories endpoint

How to test it

I copied aws integration from elastic/integrations#767 into elastic/pacakge-registry/build/package-storage/packages/aws/0.5.2 and started package registry with go run ..

Sample Results

Here are results from some endpoints.
http://localhost:8080/search?package=aws output:

Expand
[
  {
    "name": "aws",
    "title": "AWS",
    "version": "0.5.2",
    "release": "beta",
    "description": "AWS Integration",
    "type": "integration",
    "download": "/epr/aws/aws-0.5.2.zip",
    "path": "/package/aws/0.5.2",
    "icons": [
      {
        "src": "/img/logo_aws.svg",
        "path": "/package/aws/0.5.2/img/logo_aws.svg",
        "title": "logo aws",
        "size": "32x32",
        "type": "image/svg+xml"
      }
    ],
    "policy_templates": [
      {
        "name": "billing",
        "title": "AWS Billing",
        "description": "Collect AWS billing metrics",
        "icons": [
          {
            "src": "/img/logo_billing.svg",
            "path": "/package/aws/0.5.2/img/logo_billing.svg",
            "title": "AWS Billing logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "cloudtrail",
        "title": "AWS Cloudtrail",
        "description": "Collect logs from AWS Cloudtrail",
        "icons": [
          {
            "src": "/img/logo_cloudtrail.svg",
            "path": "/package/aws/0.5.2/img/logo_cloudtrail.svg",
            "title": "AWS Cloudtrail logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "cloudwatch",
        "title": "AWS CloudWatch",
        "description": "Collect logs and metrics from CloudWatch",
        "icons": [
          {
            "src": "/img/logo_cloudwatch.svg",
            "path": "/package/aws/0.5.2/img/logo_cloudwatch.svg",
            "title": "AWS CloudWatch logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "dynamodb",
        "title": "AWS DynamoDB",
        "description": "Collect AWS DynamoDB metrics",
        "icons": [
          {
            "src": "/img/logo_dynamodb.svg",
            "path": "/package/aws/0.5.2/img/logo_dynamodb.svg",
            "title": "AWS DynamoDB logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "ebs",
        "title": "AWS EBS",
        "description": "Collect AWS EBS metrics",
        "icons": [
          {
            "src": "/img/logo_ebs.svg",
            "path": "/package/aws/0.5.2/img/logo_ebs.svg",
            "title": "AWS EBS logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "ec2",
        "title": "AWS EC2",
        "description": "Collect logs and metrics from EC2 service",
        "icons": [
          {
            "src": "/img/logo_ec2.svg",
            "path": "/package/aws/0.5.2/img/logo_ec2.svg",
            "title": "AWS EC2 logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "elb",
        "title": "AWS ELB",
        "description": "Collect logs and metrics from ELB service",
        "icons": [
          {
            "src": "/img/logo_elb.svg",
            "path": "/package/aws/0.5.2/img/logo_elb.svg",
            "title": "AWS ELB logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "lambda",
        "title": "AWS Lambda",
        "description": "Collect AWS Lambda metrics",
        "icons": [
          {
            "src": "/img/logo_lambda.svg",
            "path": "/package/aws/0.5.2/img/logo_lambda.svg",
            "title": "AWS Lambda logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "natgateway",
        "title": "AWS NATGateway",
        "description": "Collect AWS NATGateway metrics",
        "icons": [
          {
            "src": "/img/logo_natgateway.svg",
            "path": "/package/aws/0.5.2/img/logo_natgateway.svg",
            "title": "AWS NATGateway logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "rds",
        "title": "AWS RDS",
        "description": "Collect AWS RDS metrics",
        "icons": [
          {
            "src": "/img/logo_rds.svg",
            "path": "/package/aws/0.5.2/img/logo_rds.svg",
            "title": "AWS RDS logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "s3",
        "title": "AWS S3",
        "description": "Collect AWS S3 metrics",
        "icons": [
          {
            "src": "/img/logo_s3.svg",
            "path": "/package/aws/0.5.2/img/logo_s3.svg",
            "title": "AWS S3 logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "sns",
        "title": "AWS SNS",
        "description": "Collect AWS SNS metrics",
        "icons": [
          {
            "src": "/img/logo_sns.svg",
            "path": "/package/aws/0.5.2/img/logo_sns.svg",
            "title": "AWS SNS logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "sqs",
        "title": "AWS SQS",
        "description": "Collect AWS SQS metrics",
        "icons": [
          {
            "src": "/img/logo_sqs.svg",
            "path": "/package/aws/0.5.2/img/logo_sqs.svg",
            "title": "AWS SQS logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "transitgateway",
        "title": "AWS Transit Gateway",
        "description": "Collect AWS Transit Gateway metrics",
        "icons": [
          {
            "src": "/img/logo_transitgateway.svg",
            "path": "/package/aws/0.5.2/img/logo_transitgateway.svg",
            "title": "AWS Transit Gateway logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "usage",
        "title": "AWS Usage",
        "description": "Collect AWS Usage metrics"
      },
      {
        "name": "vpcflow",
        "title": "AWS VPC Flow",
        "description": "Collect AWS vpcflow logs",
        "icons": [
          {
            "src": "/img/logo_vpcflow.svg",
            "path": "/package/aws/0.5.2/img/logo_vpcflow.svg",
            "title": "AWS VPC logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "vpn",
        "title": "AWS VPN",
        "description": "Collect AWS VPN metrics",
        "icons": [
          {
            "src": "/img/logo_vpn.svg",
            "path": "/package/aws/0.5.2/img/logo_vpn.svg",
            "title": "AWS VPN logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      }
    ]
  }
]

http://localhost:8080/package/aws/0.5.2/ output:

Expand
{
  "name": "aws",
  "title": "AWS",
  "version": "0.5.2",
  "release": "beta",
  "description": "AWS Integration",
  "type": "integration",
  "download": "/epr/aws/aws-0.5.2.zip",
  "path": "/package/aws/0.5.2",
  "icons": [
    {
      "src": "/img/logo_aws.svg",
      "path": "/package/aws/0.5.2/img/logo_aws.svg",
      "title": "logo aws",
      "size": "32x32",
      "type": "image/svg+xml"
    }
  ],
  "format_version": "1.0.0",
  "readme": "/package/aws/0.5.2/docs/README.md",
  "license": "basic",
  "categories": [
    "aws",
    "cloud",
    "network",
    "security"
  ],
  "conditions": {
    "kibana.version": "^7.12.0"
  },
  "screenshots": [
    {
      "src": "/img/metricbeat-aws-overview.png",
      "path": "/package/aws/0.5.2/img/metricbeat-aws-overview.png",
      "title": "metricbeat aws overview",
      "size": "3848x2440",
      "type": "image/png"
    }
  ],
  "assets": [
    "/package/aws/0.5.2/changelog.yml",
    "/package/aws/0.5.2/manifest.yml",
    "/package/aws/0.5.2/docs/README.md",
    "/package/aws/0.5.2/docs/billing.md",
    "/package/aws/0.5.2/docs/cloudtrail.md",
    "/package/aws/0.5.2/docs/cloudwatch.md",
    "/package/aws/0.5.2/docs/dynamodb.md",
    "/package/aws/0.5.2/docs/ebs.md",
    "/package/aws/0.5.2/docs/ec2.md",
    "/package/aws/0.5.2/docs/elb.md",
    "/package/aws/0.5.2/docs/lambda.md",
    "/package/aws/0.5.2/docs/natgateway.md",
    "/package/aws/0.5.2/docs/rds.md",
    "/package/aws/0.5.2/docs/s3.md",
    "/package/aws/0.5.2/docs/sns.md",
    "/package/aws/0.5.2/docs/sqs.md",
    "/package/aws/0.5.2/docs/transitgateway.md",
    "/package/aws/0.5.2/docs/usage.md",
    "/package/aws/0.5.2/docs/vpcflow.md",
    "/package/aws/0.5.2/docs/vpn.md",
    "/package/aws/0.5.2/img/filebeat-aws-cloudtrail.png",
    "/package/aws/0.5.2/img/filebeat-aws-elb-overview.png",
    "/package/aws/0.5.2/img/filebeat-aws-s3access-overview.png",
    "/package/aws/0.5.2/img/filebeat-aws-vpcflow-overview.png",
    "/package/aws/0.5.2/img/logo_aws.svg",
    "/package/aws/0.5.2/img/logo_billing.svg",
    "/package/aws/0.5.2/img/logo_cloudtrail.svg",
    "/package/aws/0.5.2/img/logo_cloudwatch.svg",
    "/package/aws/0.5.2/img/logo_dynamodb.svg",
    "/package/aws/0.5.2/img/logo_ebs.svg",
    "/package/aws/0.5.2/img/logo_ec2.svg",
    "/package/aws/0.5.2/img/logo_elb.svg",
    "/package/aws/0.5.2/img/logo_lambda.svg",
    "/package/aws/0.5.2/img/logo_natgateway.svg",
    "/package/aws/0.5.2/img/logo_rds.svg",
    "/package/aws/0.5.2/img/logo_s3.svg",
    "/package/aws/0.5.2/img/logo_sns.svg",
    "/package/aws/0.5.2/img/logo_sqs.svg",
    "/package/aws/0.5.2/img/logo_transitgateway.svg",
    "/package/aws/0.5.2/img/logo_vpcflow.svg",
    "/package/aws/0.5.2/img/logo_vpn.svg",
    "/package/aws/0.5.2/img/metricbeat-aws-billing-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-dynamodb-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-ebs-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-ec2-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-elb-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-lambda-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-rds-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-s3-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-sns-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-sqs-overview.png",
    "/package/aws/0.5.2/img/metricbeat-aws-usage-overview.png",
    "/package/aws/0.5.2/data_stream/billing/manifest.yml",
    "/package/aws/0.5.2/data_stream/billing/sample_event.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/manifest.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/manifest.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/manifest.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/sample_event.json",
    "/package/aws/0.5.2/data_stream/dynamodb/manifest.yml",
    "/package/aws/0.5.2/data_stream/dynamodb/sample_event.json",
    "/package/aws/0.5.2/data_stream/ebs/manifest.yml",
    "/package/aws/0.5.2/data_stream/ebs/sample_event.json",
    "/package/aws/0.5.2/data_stream/ec2_logs/manifest.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/manifest.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/sample_event.json",
    "/package/aws/0.5.2/data_stream/elb_logs/manifest.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/manifest.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/sample_event.json",
    "/package/aws/0.5.2/data_stream/lambda/manifest.yml",
    "/package/aws/0.5.2/data_stream/lambda/sample_event.json",
    "/package/aws/0.5.2/data_stream/natgateway/manifest.yml",
    "/package/aws/0.5.2/data_stream/natgateway/sample_event.json",
    "/package/aws/0.5.2/data_stream/rds/manifest.yml",
    "/package/aws/0.5.2/data_stream/rds/sample_event.json",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/manifest.yml",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/sample_event.json",
    "/package/aws/0.5.2/data_stream/s3_request/manifest.yml",
    "/package/aws/0.5.2/data_stream/s3_request/sample_event.json",
    "/package/aws/0.5.2/data_stream/s3access/manifest.yml",
    "/package/aws/0.5.2/data_stream/sns/manifest.yml",
    "/package/aws/0.5.2/data_stream/sns/sample_event.json",
    "/package/aws/0.5.2/data_stream/sqs/manifest.yml",
    "/package/aws/0.5.2/data_stream/sqs/sample_event.json",
    "/package/aws/0.5.2/data_stream/transitgateway/manifest.yml",
    "/package/aws/0.5.2/data_stream/transitgateway/sample_event.json",
    "/package/aws/0.5.2/data_stream/usage/manifest.yml",
    "/package/aws/0.5.2/data_stream/usage/sample_event.json",
    "/package/aws/0.5.2/data_stream/vpcflow/manifest.yml",
    "/package/aws/0.5.2/data_stream/vpn/manifest.yml",
    "/package/aws/0.5.2/data_stream/vpn/sample_event.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-0eb5a6a0-694f-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-15503340-4488-11ea-ad63-791a5dc86f10.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-234aeda0-43b7-11e9-8697-530f39afc6eb.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-3367c170-921f-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-3af47420-3e7b-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-44ce4680-b7ba-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-4746e000-bacd-11e9-9f70-1f7bda85a5eb.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-67c9f900-693e-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-68ba7bd0-20b6-11ea-8f72-2f8d21e50b0c.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-7ac8e1d0-28d2-11ea-ba6c-49a884eb104f.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-917a07b0-178e-11ea-8650-fb606deb5be4.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-9c09cd20-7399-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-a096b830-4762-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-c2b1cbc0-6891-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-c5846400-f7fb-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-d17b1000-17a4-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-e6776b10-1534-11ea-841c-01bf20a6c8ba.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-e74bf320-b3ce-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/dashboard/aws-fac28650-7349-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/map/aws-0edf0640-3e7e-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/map/aws-513a3d70-4482-11ea-ad63-791a5dc86f10.json",
    "/package/aws/0.5.2/kibana/map/aws-dae24080-739a-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/search/aws-30ccde50-7397-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/search/aws-5e5a3c90-bac0-11e9-9f70-1f7bda85a5eb.json",
    "/package/aws/0.5.2/kibana/search/aws-c1aee600-4487-11ea-ad63-791a5dc86f10.json",
    "/package/aws/0.5.2/kibana/visualization/aws-007ceec0-694c-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-00b29040-921d-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-01ed5990-694a-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-08645080-6891-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-09857a20-180f-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-09db13f0-2bdd-11e9-9fe1-cde861544141.json",
    "/package/aws/0.5.2/kibana/visualization/aws-0a36b590-694c-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-0f056420-739e-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-10e0f270-694c-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-1235fe50-41e7-11e9-b7a0-c99d9d127b61.json",
    "/package/aws/0.5.2/kibana/visualization/aws-128fd450-734e-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-12eff7e0-b7b9-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-13e624c0-180e-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-142ad600-693b-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-15818fd0-f7f9-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/kibana/visualization/aws-17fcda50-921b-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-1f3f00c0-28d1-11ea-ba6c-49a884eb104f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-1f528f50-b3ce-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-219c1850-3e82-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-21f30090-b3ca-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-233b3400-f7f9-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/kibana/visualization/aws-247e2990-4699-11ea-ad63-791a5dc86f10.json",
    "/package/aws/0.5.2/kibana/visualization/aws-25384bf0-b7b9-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-26b73e50-6943-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-2929edb0-178e-11ea-8650-fb606deb5be4.json",
    "/package/aws/0.5.2/kibana/visualization/aws-2b2d58b0-4762-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-2dbb8f90-4760-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-2ee7f420-6943-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-31a4ea90-152b-11ea-841c-01bf20a6c8ba.json",
    "/package/aws/0.5.2/kibana/visualization/aws-31ad4090-2003-11ea-8f72-2f8d21e50b0c.json",
    "/package/aws/0.5.2/kibana/visualization/aws-396089c0-7399-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-398d12d0-7352-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-39dfc8d0-28cf-11ea-ba6c-49a884eb104f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-3a3914d0-4761-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-3dee68c0-7b0c-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-415fed40-694f-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-42016bf0-728f-11e9-9a7b-4d62d5bcf4fc.json",
    "/package/aws/0.5.2/kibana/visualization/aws-4658f540-734a-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-49379b70-7b07-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-4bf0a740-28d1-11ea-ba6c-49a884eb104f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-4bf62a10-8310-11e9-ac83-47df3568ff90.json",
    "/package/aws/0.5.2/kibana/visualization/aws-4c23e4c0-739a-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-53730d20-437e-11e9-8697-530f39afc6eb.json",
    "/package/aws/0.5.2/kibana/visualization/aws-54e88a40-734e-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-572d40e0-b3ca-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-58e17c10-7349-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-58f5a3c0-6943-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-59defc90-17a5-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-59e2e110-178d-11ea-8650-fb606deb5be4.json",
    "/package/aws/0.5.2/kibana/visualization/aws-5c93cd10-bac3-11e9-9f70-1f7bda85a5eb.json",
    "/package/aws/0.5.2/kibana/visualization/aws-6392bc30-b3c9-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-67f43080-b7b9-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-681aab60-178c-11ea-8650-fb606deb5be4.json",
    "/package/aws/0.5.2/kibana/visualization/aws-68970b10-6890-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-6e3285d0-4763-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-6f7f7680-180c-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-6fc1efd0-b3c9-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-73970bc0-3e86-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-749cd470-1530-11ea-841c-01bf20a6c8ba.json",
    "/package/aws/0.5.2/kibana/visualization/aws-75853f20-4484-11ea-ad63-791a5dc86f10.json",
    "/package/aws/0.5.2/kibana/visualization/aws-75ebfda0-1789-11ea-8650-fb606deb5be4.json",
    "/package/aws/0.5.2/kibana/visualization/aws-76af8140-3e84-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-7b93bab0-7b0a-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-7bca4f50-739c-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-7d1e0870-7a3f-11ea-bfa4-dfea8c457654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-81d83c70-4762-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-8345d580-6891-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-83f08eb0-1532-11ea-841c-01bf20a6c8ba.json",
    "/package/aws/0.5.2/kibana/visualization/aws-8b34a100-4762-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-8b8a7f80-921c-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-8cf5fbe0-7b07-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-8ec43590-739b-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-9121ac90-734d-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-915bcd50-28d1-11ea-ba6c-49a884eb104f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-9202d1a0-178c-11ea-8650-fb606deb5be4.json",
    "/package/aws/0.5.2/kibana/visualization/aws-95b322f0-734a-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-966ae990-d979-11e9-9458-bbef63ad717b.json",
    "/package/aws/0.5.2/kibana/visualization/aws-99ffdb00-bacb-11e9-9f70-1f7bda85a5eb.json",
    "/package/aws/0.5.2/kibana/visualization/aws-9bf8e1e0-6890-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-9d284bc0-7b08-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-9e8c6030-f7f8-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/kibana/visualization/aws-9f0425c0-7b0a-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-abdc7480-180b-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b00c4390-b7b8-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b0afd3e0-43b7-11e9-8697-530f39afc6eb.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b2191dd0-734c-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b2ea15a0-b3c7-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b36532e0-688e-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b403f7b0-7b15-11ea-9bb4-e958b64b5685.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b5308940-7347-11e9-816b-07687310a99a.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b6a308f0-3e82-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b7f8bf90-180f-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-b9703dd0-b3c9-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bad8c910-4485-11ea-ad63-791a5dc86f10.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bb3a6cd0-b7b6-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bb82c4d0-6c25-11e9-81bc-7f4cd8b3d892.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bc5dcc90-688e-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bc8bd8f0-31fd-11ea-bcbf-59cb7eefc1f0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bd37d720-3e84-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bdb8ddd0-6890-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-be6c4180-41e6-11e9-b7a0-c99d9d127b61.json",
    "/package/aws/0.5.2/kibana/visualization/aws-be8828d0-f7f6-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/kibana/visualization/aws-bf81e030-180e-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-c0e32d50-b7b8-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-c186b610-688d-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-c1afd130-921e-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-c1db9b80-694b-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-c7d6cf90-688e-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-c84ed3d0-6890-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-cc3a1950-921c-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-cd6419c0-6949-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-ce7445c0-688f-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-ceb7c030-3e86-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-d045d120-b7b9-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-d186fd50-4763-11e9-8062-c98a86cb6f94.json",
    "/package/aws/0.5.2/kibana/visualization/aws-d19a71b0-180e-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-d2f46190-830f-11e9-ac83-47df3568ff90.json",
    "/package/aws/0.5.2/kibana/visualization/aws-d560de70-b3c7-11e9-87a4-078dbbae220d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-d8b1e830-3e82-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-dc5f65b0-6949-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-dcd31cd0-41e5-11e9-b7a0-c99d9d127b61.json",
    "/package/aws/0.5.2/kibana/visualization/aws-dd2f2a10-41e6-11e9-b7a0-c99d9d127b61.json",
    "/package/aws/0.5.2/kibana/visualization/aws-deab0260-2981-11e9-86eb-a3a07a77f530.json",
    "/package/aws/0.5.2/kibana/visualization/aws-dffa19e0-180e-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-e06e4cf0-921e-11e9-aa19-159bf182e06f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-e0e65e60-688e-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-e50c51e0-3e7f-11ea-bb0a-69c3ca1d410f.json",
    "/package/aws/0.5.2/kibana/visualization/aws-ea9e3d40-693a-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-f1db6ec0-f7f8-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/kibana/visualization/aws-f58f99b0-693a-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-f6831f30-b7b6-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-f74eb760-41e8-11e9-b7a0-c99d9d127b61.json",
    "/package/aws/0.5.2/kibana/visualization/aws-f7c17000-6949-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-f8b63860-739e-11ea-a345-f985c61fe654.json",
    "/package/aws/0.5.2/kibana/visualization/aws-fc0869c0-180e-11ea-8e91-03c7047cbb9d.json",
    "/package/aws/0.5.2/kibana/visualization/aws-fcfc8d80-693e-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-fd915180-6890-11ea-b0ac-95d4ecb1fecd.json",
    "/package/aws/0.5.2/kibana/visualization/aws-fe0581b0-b7b8-11e9-8349-f15f850c5cd0.json",
    "/package/aws/0.5.2/kibana/visualization/aws-fed59380-f7f8-11e8-af03-c999c9dea608.json",
    "/package/aws/0.5.2/data_stream/billing/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/billing/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/billing/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/billing/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/billing/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/dynamodb/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/dynamodb/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/dynamodb/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/dynamodb/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/dynamodb/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/ebs/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/ebs/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/ebs/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/ebs/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/ebs/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/ec2_logs/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/ec2_logs/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/ec2_logs/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/ec2_logs/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/elb_logs/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/elb_logs/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/elb_logs/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/elb_logs/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/lambda/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/lambda/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/lambda/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/lambda/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/lambda/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/natgateway/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/natgateway/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/natgateway/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/natgateway/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/natgateway/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/rds/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/rds/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/rds/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/rds/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/rds/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/s3_request/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/s3_request/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/s3_request/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/s3_request/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/s3_request/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/s3access/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/s3access/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/s3access/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/s3access/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/sns/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/sns/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/sns/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/sns/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/sns/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/sqs/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/sqs/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/sqs/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/sqs/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/sqs/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/transitgateway/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/transitgateway/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/transitgateway/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/transitgateway/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/transitgateway/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/usage/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/usage/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/usage/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/usage/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/usage/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/vpcflow/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/vpcflow/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/vpcflow/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/vpcflow/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/vpn/fields/agent.yml",
    "/package/aws/0.5.2/data_stream/vpn/fields/base-fields.yml",
    "/package/aws/0.5.2/data_stream/vpn/fields/ecs.yml",
    "/package/aws/0.5.2/data_stream/vpn/fields/fields.yml",
    "/package/aws/0.5.2/data_stream/vpn/fields/package-fields.yml",
    "/package/aws/0.5.2/data_stream/billing/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/cloudtrail/agent/stream/httpjson.yml.hbs",
    "/package/aws/0.5.2/data_stream/cloudtrail/agent/stream/s3.yml.hbs",
    "/package/aws/0.5.2/data_stream/cloudtrail/elasticsearch/ingest_pipeline/default.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/agent/stream/s3.yml.hbs",
    "/package/aws/0.5.2/data_stream/cloudwatch_logs/elasticsearch/ingest_pipeline/default.yml",
    "/package/aws/0.5.2/data_stream/cloudwatch_metrics/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/dynamodb/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/ebs/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/ec2_logs/agent/stream/s3.yml.hbs",
    "/package/aws/0.5.2/data_stream/ec2_logs/elasticsearch/ingest_pipeline/default.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/elb_logs/agent/stream/s3.yml.hbs",
    "/package/aws/0.5.2/data_stream/elb_logs/elasticsearch/ingest_pipeline/default.yml",
    "/package/aws/0.5.2/data_stream/elb_metrics/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/lambda/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/natgateway/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/rds/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/s3_daily_storage/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/s3_request/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/s3access/agent/stream/log.yml.hbs",
    "/package/aws/0.5.2/data_stream/s3access/agent/stream/s3.yml.hbs",
    "/package/aws/0.5.2/data_stream/s3access/elasticsearch/ingest_pipeline/default.yml",
    "/package/aws/0.5.2/data_stream/sns/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/sqs/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/transitgateway/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/usage/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/vpcflow/agent/stream/s3.yml.hbs",
    "/package/aws/0.5.2/data_stream/vpcflow/elasticsearch/ingest_pipeline/default.yml",
    "/package/aws/0.5.2/data_stream/vpn/agent/stream/stream.yml.hbs",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-add-user-to-group-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-add-user-to-group-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-add-user-to-group-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-assume-role-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-assume-role-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-assume-role-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-change-password-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-change-password-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-change-password-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-cloudtrail-digest-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-cloudtrail-digest-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-cloudtrail-digest-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-console-login-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-console-login-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-console-login-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-access-key-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-access-key-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-access-key-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-group-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-group-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-group-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-key-pair-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-key-pair-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-key-pair-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-trail-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-trail-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-trail-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-user-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-user-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-user-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-virtual-mfa-device-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-virtual-mfa-device-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-create-virtual-mfa-device-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-deactivate-mfa-device-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-deactivate-mfa-device-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-deactivate-mfa-device-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-access-key-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-access-key-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-access-key-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-bucket-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-bucket-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-bucket-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-group-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-group-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-group-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-ssh-public-key-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-ssh-public-key-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-ssh-public-key-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-trail-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-trail-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-trail-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-user-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-user-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-user-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-virtual-mfa-device-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-virtual-mfa-device-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-delete-virtual-mfa-device-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-enable-mfa-device-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-enable-mfa-device-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-enable-mfa-device-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-insight-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-insight-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-insight-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-remove-user-from-group-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-remove-user-from-group-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-remove-user-from-group-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-start-logging-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-start-logging-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-start-logging-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-stop-logging-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-stop-logging-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-stop-logging-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-access-key-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-access-key-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-access-key-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-accout-password-policy-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-accout-password-policy-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-accout-password-policy-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-group-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-group-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-group-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-login-profile-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-login-profile-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-login-profile-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-ssh-public-key-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-ssh-public-key-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-ssh-public-key-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-trail-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-trail-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-trail-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-user-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-user-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-update-user-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-upload-ssh-public-key-json.log",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-upload-ssh-public-key-json.log-config.yml",
    "/package/aws/0.5.2/data_stream/cloudtrail/_dev/test/pipeline/test-upload-ssh-public-key-json.log-expected.json",
    "/package/aws/0.5.2/data_stream/ec2_metrics/_dev/deploy/tf/env.yml",
    "/package/aws/0.5.2/data_stream/ec2_metrics/_dev/deploy/tf/main.tf",
    "/package/aws/0.5.2/data_stream/ec2_metrics/_dev/test/system/test-default-config.yml",
    "/package/aws/0.5.2/data_stream/elb_logs/_dev/test/pipeline/test-alb.log",
    "/package/aws/0.5.2/data_stream/elb_logs/_dev/test/pipeline/test-alb.log-config.yml",
    "/package/aws/0.5.2/data_stream/elb_logs/_dev/test/pipeline/test-alb.log-expected.json",
    "/package/aws/0.5.2/data_stream/s3access/_dev/test/pipeline/test-s3-server-access.log",
    "/package/aws/0.5.2/data_stream/s3access/_dev/test/pipeline/test-s3-server-access.log-config.yml",
    "/package/aws/0.5.2/data_stream/s3access/_dev/test/pipeline/test-s3-server-access.log-expected.json",
    "/package/aws/0.5.2/data_stream/vpcflow/_dev/test/pipeline/test-extra-samples.log",
    "/package/aws/0.5.2/data_stream/vpcflow/_dev/test/pipeline/test-extra-samples.log-config.yml",
    "/package/aws/0.5.2/data_stream/vpcflow/_dev/test/pipeline/test-extra-samples.log-expected.json",
    "/package/aws/0.5.2/data_stream/vpcflow/_dev/test/pipeline/test-tcp-flag-sequence.log",
    "/package/aws/0.5.2/data_stream/vpcflow/_dev/test/pipeline/test-tcp-flag-sequence.log-config.yml",
    "/package/aws/0.5.2/data_stream/vpcflow/_dev/test/pipeline/test-tcp-flag-sequence.log-expected.json"
  ],
  "policy_templates": [
    {
      "name": "billing",
      "title": "AWS Billing",
      "description": "Collect AWS billing metrics",
      "data_streams": [
        "billing"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect billing metrics",
          "description": "Collect billing metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_billing.svg",
          "path": "/package/aws/0.5.2/img/logo_billing.svg",
          "title": "AWS Billing logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-billing-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-billing-overview.png",
          "title": "metricbeat aws billing overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/billing.md"
    },
    {
      "name": "cloudtrail",
      "title": "AWS Cloudtrail",
      "description": "Collect logs from AWS Cloudtrail",
      "data_streams": [
        "cloudtrail"
      ],
      "inputs": [
        {
          "type": "s3",
          "title": "Collect logs from Cloudtrail service",
          "description": "Collecting Cloudtrail logs using S3 input",
          "input_group": "logs"
        },
        {
          "type": "httpjson",
          "title": "Collect logs from third-party REST API (experimental)",
          "description": "Collect logs from third-party REST API (experimental)",
          "input_group": "logs"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_cloudtrail.svg",
          "path": "/package/aws/0.5.2/img/logo_cloudtrail.svg",
          "title": "AWS Cloudtrail logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/filebeat-aws-cloudtrail.png",
          "path": "/package/aws/0.5.2/img/filebeat-aws-cloudtrail.png",
          "title": "filebeat aws cloudtrail",
          "size": "1702x1063",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/cloudtrail.md"
    },
    {
      "name": "cloudwatch",
      "title": "AWS CloudWatch",
      "description": "Collect logs and metrics from CloudWatch",
      "data_streams": [
        "cloudwatch_logs",
        "cloudwatch_metrics"
      ],
      "inputs": [
        {
          "type": "s3",
          "title": "Collect logs from CloudWatch",
          "description": "Collecting logs from CloudWatch using S3 input",
          "input_group": "logs"
        },
        {
          "type": "aws/metrics",
          "title": "Collect metrics from CloudWatch",
          "description": "Collecting metrics from AWS CloudWatch",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_cloudwatch.svg",
          "path": "/package/aws/0.5.2/img/logo_cloudwatch.svg",
          "title": "AWS CloudWatch logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/cloudwatch.md"
    },
    {
      "name": "dynamodb",
      "title": "AWS DynamoDB",
      "description": "Collect AWS DynamoDB metrics",
      "data_streams": [
        "dynamodb"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect dynamodb metrics",
          "description": "Collect dynamodb metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_dynamodb.svg",
          "path": "/package/aws/0.5.2/img/logo_dynamodb.svg",
          "title": "AWS DynamoDB logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "categories": [
        "datastore"
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-dynamodb-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-dynamodb-overview.png",
          "title": "metricbeat aws dynamodb overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/dynamodb.md"
    },
    {
      "name": "ebs",
      "title": "AWS EBS",
      "description": "Collect AWS EBS metrics",
      "data_streams": [
        "ebs"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect EBS metrics",
          "description": "Collect EBS metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_ebs.svg",
          "path": "/package/aws/0.5.2/img/logo_ebs.svg",
          "title": "AWS EBS logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "categories": [
        "datastore"
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-ebs-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-ebs-overview.png",
          "title": "metricbeat aws ebs overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/ebs.md"
    },
    {
      "name": "ec2",
      "title": "AWS EC2",
      "description": "Collect logs and metrics from EC2 service",
      "data_streams": [
        "ec2_logs",
        "ec2_metrics"
      ],
      "inputs": [
        {
          "type": "s3",
          "title": "Collect logs from EC2 service",
          "description": "Collecting EC2 logs using S3 input",
          "input_group": "logs"
        },
        {
          "type": "aws/metrics",
          "title": "Collect metrics from EC2 service",
          "description": "Collecting EC2 metrics using AWS CloudWatch",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_ec2.svg",
          "path": "/package/aws/0.5.2/img/logo_ec2.svg",
          "title": "AWS EC2 logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-ec2-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-ec2-overview.png",
          "title": "metricbeat aws ec2 overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/ec2.md"
    },
    {
      "name": "elb",
      "title": "AWS ELB",
      "description": "Collect logs and metrics from ELB service",
      "data_streams": [
        "elb_logs",
        "elb_metrics"
      ],
      "inputs": [
        {
          "type": "s3",
          "title": "Collect logs from ELB service",
          "description": "Collecting ELB logs using S3 input",
          "input_group": "logs"
        },
        {
          "type": "aws/metrics",
          "title": "Collect metrics from ELB service",
          "description": "Collecting ELB metrics using AWS CloudWatch",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_elb.svg",
          "path": "/package/aws/0.5.2/img/logo_elb.svg",
          "title": "AWS ELB logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-elb-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-elb-overview.png",
          "title": "metricbeat aws elb overview",
          "size": "2640x2240",
          "type": "image/png"
        },
        {
          "src": "/img/filebeat-aws-elb-overview.png",
          "path": "/package/aws/0.5.2/img/filebeat-aws-elb-overview.png",
          "title": "filebeat aws elb overview",
          "size": "1684x897",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/elb.md"
    },
    {
      "name": "lambda",
      "title": "AWS Lambda",
      "description": "Collect AWS Lambda metrics",
      "data_streams": [
        "lambda"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect Lambda metrics",
          "description": "Collect Lambda metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_lambda.svg",
          "path": "/package/aws/0.5.2/img/logo_lambda.svg",
          "title": "AWS Lambda logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-lambda-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-lambda-overview.png",
          "title": "metricbeat aws lambda overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/lambda.md"
    },
    {
      "name": "natgateway",
      "title": "AWS NATGateway",
      "description": "Collect AWS NATGateway metrics",
      "data_streams": [
        "natgateway"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect NATGateway metrics",
          "description": "Collect NATGateway metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_natgateway.svg",
          "path": "/package/aws/0.5.2/img/logo_natgateway.svg",
          "title": "AWS NATGateway logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/natgateway.md"
    },
    {
      "name": "rds",
      "title": "AWS RDS",
      "description": "Collect AWS RDS metrics",
      "data_streams": [
        "rds"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect RDS metrics",
          "description": "Collect RDS metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_rds.svg",
          "path": "/package/aws/0.5.2/img/logo_rds.svg",
          "title": "AWS RDS logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "categories": [
        "datastore"
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-rds-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-rds-overview.png",
          "title": "metricbeat aws rds overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/rds.md"
    },
    {
      "name": "s3",
      "title": "AWS S3",
      "description": "Collect AWS S3 metrics",
      "data_streams": [
        "s3_daily_storage",
        "s3_request",
        "s3access"
      ],
      "inputs": [
        {
          "type": "s3",
          "title": "Collect S3 access logs",
          "description": "Collecting S3 access logs using S3 input",
          "input_group": "logs"
        },
        {
          "type": "aws/metrics",
          "title": "Collect metrics from S3",
          "description": "Collecting S3 metrics using AWS CloudWatch",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_s3.svg",
          "path": "/package/aws/0.5.2/img/logo_s3.svg",
          "title": "AWS S3 logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "categories": [
        "datastore"
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-s3-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-s3-overview.png",
          "title": "metricbeat aws s3 overview",
          "size": "2640x2240",
          "type": "image/png"
        },
        {
          "src": "/img/filebeat-aws-s3access-overview.png",
          "path": "/package/aws/0.5.2/img/filebeat-aws-s3access-overview.png",
          "title": "filebeat aws s3access overview",
          "size": "1684x897",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/s3.md"
    },
    {
      "name": "sns",
      "title": "AWS SNS",
      "description": "Collect AWS SNS metrics",
      "data_streams": [
        "sns"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect SNS metrics",
          "description": "Collect SNS metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_sns.svg",
          "path": "/package/aws/0.5.2/img/logo_sns.svg",
          "title": "AWS SNS logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-sns-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-sns-overview.png",
          "title": "metricbeat aws sns overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/sns.md"
    },
    {
      "name": "sqs",
      "title": "AWS SQS",
      "description": "Collect AWS SQS metrics",
      "data_streams": [
        "sqs"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect SQS metrics",
          "description": "Collect SQS metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_sqs.svg",
          "path": "/package/aws/0.5.2/img/logo_sqs.svg",
          "title": "AWS SQS logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-sqs-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-sqs-overview.png",
          "title": "metricbeat aws sqs overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/sqs.md"
    },
    {
      "name": "transitgateway",
      "title": "AWS Transit Gateway",
      "description": "Collect AWS Transit Gateway metrics",
      "data_streams": [
        "transitgateway"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect Transit Gateway metrics",
          "description": "Collect Transit Gateway metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_transitgateway.svg",
          "path": "/package/aws/0.5.2/img/logo_transitgateway.svg",
          "title": "AWS Transit Gateway logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/transitgateway.md"
    },
    {
      "name": "usage",
      "title": "AWS Usage",
      "description": "Collect AWS Usage metrics",
      "data_streams": [
        "usage"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect Usage metrics",
          "description": "Collect Usage metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "screenshots": [
        {
          "src": "/img/metricbeat-aws-usage-overview.png",
          "path": "/package/aws/0.5.2/img/metricbeat-aws-usage-overview.png",
          "title": "metricbeat aws sns overview",
          "size": "2640x2240",
          "type": "image/png"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/usage.md"
    },
    {
      "name": "vpcflow",
      "title": "AWS VPC Flow",
      "description": "Collect AWS vpcflow logs",
      "data_streams": [
        "vpcflow"
      ],
      "inputs": [
        {
          "type": "s3",
          "title": "Collect VPC Flow logs",
          "description": "Collecting VPC Flow logs using S3 input",
          "input_group": "logs"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_vpcflow.svg",
          "path": "/package/aws/0.5.2/img/logo_vpcflow.svg",
          "title": "AWS VPC logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "readme": "/package/aws/0.5.2/docs/vpcflow.md"
    },
    {
      "name": "vpn",
      "title": "AWS VPN",
      "description": "Collect AWS VPN metrics",
      "data_streams": [
        "vpn"
      ],
      "inputs": [
        {
          "type": "aws/metrics",
          "title": "Collect VPN metrics",
          "description": "Collect VPN metrics",
          "input_group": "metrics"
        }
      ],
      "multiple": true,
      "icons": [
        {
          "src": "/img/logo_vpn.svg",
          "path": "/package/aws/0.5.2/img/logo_vpn.svg",
          "title": "AWS VPN logo",
          "size": "32x32",
          "type": "image/svg+xml"
        }
      ],
      "categories": [
        "network"
      ],
      "readme": "/package/aws/0.5.2/docs/vpn.md"
    }
  ],
  "data_streams": [
    {
      "type": "metrics",
      "dataset": "aws.billing",
      "title": "AWS billing metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "12h"
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "cost_explorer_config.group_by_dimension_keys",
              "type": "text",
              "title": "Cost Explorer Group By Dimension Keys",
              "multi": true,
              "required": false,
              "show_user": true,
              "default": [
                "AZ",
                "INSTANCE_TYPE",
                "SERVICE"
              ]
            },
            {
              "name": "cost_explorer_config.group_by_tag_keys",
              "type": "text",
              "title": "Cost Explorer Group By Tag Keys",
              "multi": true,
              "required": false,
              "show_user": true,
              "default": [
                "aws:createdBy"
              ]
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS Billing metrics",
          "description": "Collect AWS billing metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "billing"
    },
    {
      "type": "logs",
      "dataset": "aws.cloudtrail",
      "title": "AWS CloudTrail logs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "s3",
          "vars": [
            {
              "name": "visibility_timeout",
              "type": "text",
              "title": "Visibility Timeout",
              "description": "The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.  The maximum is 12 hours.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "api_timeout",
              "type": "text",
              "title": "API Timeout",
              "description": "The maximum duration of AWS API can take. The maximum is half of the visibility timeout value.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "queue_url",
              "type": "text",
              "title": "Queue URL",
              "description": "URL of the AWS SQS queue that messages will be received from.",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "fips_enabled",
              "type": "bool",
              "title": "Enable S3 FIPS",
              "description": "Enabling this option changes the service name from `s3` to `s3-fips` for connecting to the correct service endpoint.",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": false
            }
          ],
          "template_path": "s3.yml.hbs",
          "title": "AWS CloudTrail logs",
          "description": "Collect AWS CloudTrail logs using s3 input",
          "enabled": true
        },
        {
          "input": "httpjson",
          "vars": [
            {
              "name": "url",
              "type": "text",
              "title": "URL of Splunk Enterprise Server",
              "description": "i.e. scheme://host:port, path is automatic",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "https://server.example.com:8089"
            },
            {
              "name": "username",
              "type": "text",
              "title": "Splunk REST API Username",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "password",
              "type": "password",
              "title": "Splunk REST API Password",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "ssl",
              "type": "yaml",
              "title": "SSL Configuration",
              "description": "i.e. certificate_authorities, supported_protocols, verification_mode etc.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "interval",
              "type": "text",
              "title": "Interval to query Splunk Enterprise REST API",
              "description": "Go Duration syntax (eg. 10s)",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "10s"
            },
            {
              "name": "search",
              "type": "text",
              "title": "Splunk search string",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "search sourcetype=aws:cloudtrail"
            },
            {
              "name": "tags",
              "type": "text",
              "title": "Tags",
              "multi": true,
              "required": false,
              "show_user": false,
              "default": [
                "forwarded"
              ]
            }
          ],
          "template_path": "httpjson.yml.hbs",
          "title": "AWS CloudTrail logs via Splunk Enterprise REST API",
          "description": "Collect AWS CloudTrail logs via Splunk Enterprise REST API",
          "enabled": false
        }
      ],
      "package": "aws",
      "path": "cloudtrail"
    },
    {
      "type": "logs",
      "dataset": "aws.cloudwatch_logs",
      "title": "AWS CloudWatch logs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "s3",
          "vars": [
            {
              "name": "visibility_timeout",
              "type": "text",
              "title": "Visibility Timeout",
              "description": "The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.  The maximum is 12 hours.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "api_timeout",
              "type": "text",
              "title": "API Timeout",
              "description": "The maximum duration of AWS API can take. The maximum is half of the visibility timeout value.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "queue_url",
              "type": "text",
              "title": "Queue URL",
              "description": "URL of the AWS SQS queue that messages will be received from.",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "fips_enabled",
              "type": "bool",
              "title": "Enable S3 FIPS",
              "description": "Enabling this option changes the service name from `s3` to `s3-fips` for connecting to the correct service endpoint.",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": false
            }
          ],
          "template_path": "s3.yml.hbs",
          "title": "AWS CloudWatch logs",
          "description": "Collect AWS CloudWatch logs using s3 input",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "cloudwatch_logs"
    },
    {
      "type": "metrics",
      "dataset": "aws.cloudwatch_metrics",
      "title": "AWS CloudWatch metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "300s"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "metrics",
              "type": "yaml",
              "title": "Metrics",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "- namespace: AWS/EC2\n  resource_type: ec2:instance\n  name:\n    - CPUUtilization\n    - DiskWriteOps\n  statistic:\n    - Average\n    - Maximum\n  # dimensions:\n   # - name: InstanceId\n      # value: i-123456\n  # tags:\n    # - key: created-by\n      # value: foo\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS CloudWatch metrics",
          "description": "Collect AWS CloudWatch metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "cloudwatch_metrics"
    },
    {
      "type": "metrics",
      "dataset": "aws.dynamodb",
      "title": "AWS DynamoDB metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "5m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS DynamoDB metrics",
          "description": "Collect AWS DynamoDB metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "dynamodb"
    },
    {
      "type": "metrics",
      "dataset": "aws.ebs",
      "title": "AWS EBS metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "5m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS EBS metrics",
          "description": "Collect AWS EBS metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "ebs"
    },
    {
      "type": "logs",
      "dataset": "aws.ec2_logs",
      "title": "AWS EC2 logs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "s3",
          "vars": [
            {
              "name": "visibility_timeout",
              "type": "text",
              "title": "Visibility Timeout",
              "description": "The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.  The maximum is 12 hours.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "api_timeout",
              "type": "text",
              "title": "API Timeout",
              "description": "The maximum duration of AWS API can take. The maximum is half of the visibility timeout value.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "queue_url",
              "type": "text",
              "title": "Queue URL",
              "description": "URL of the AWS SQS queue that messages will be received from.",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "fips_enabled",
              "type": "bool",
              "title": "Enable S3 FIPS",
              "description": "Enabling this option changes the service name from `s3` to `s3-fips` for connecting to the correct service endpoint.",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": false
            }
          ],
          "template_path": "s3.yml.hbs",
          "title": "AWS EC2 logs",
          "description": "Collect AWS EC2 logs using s3 input",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "ec2_logs"
    },
    {
      "type": "metrics",
      "dataset": "aws.ec2_metrics",
      "title": "AWS EC2 metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "5m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS EC2 metrics",
          "description": "Collect AWS EC2 metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "ec2_metrics"
    },
    {
      "type": "logs",
      "dataset": "aws.elb_logs",
      "title": "AWS ELB logs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "s3",
          "vars": [
            {
              "name": "visibility_timeout",
              "type": "text",
              "title": "Visibility Timeout",
              "description": "The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.  The maximum is 12 hours.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "api_timeout",
              "type": "text",
              "title": "API Timeout",
              "description": "The maximum duration of AWS API can take. The maximum is half of the visibility timeout value.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "queue_url",
              "type": "text",
              "title": "Queue URL",
              "description": "URL of the AWS SQS queue that messages will be received from.",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "fips_enabled",
              "type": "bool",
              "title": "Enable S3 FIPS",
              "description": "Enabling this option changes the service name from `s3` to `s3-fips` for connecting to the correct service endpoint.",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": false
            }
          ],
          "template_path": "s3.yml.hbs",
          "title": "AWS ELB logs",
          "description": "Collect AWS ELB logs using s3 input",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "elb_logs"
    },
    {
      "type": "metrics",
      "dataset": "aws.elb_metrics",
      "title": "AWS ELB metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS ELB metrics",
          "description": "Collect AWS ELB metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "elb_metrics"
    },
    {
      "type": "metrics",
      "dataset": "aws.lambda",
      "title": "AWS Lambda metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "5m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS Lambda metrics",
          "description": "Collect AWS Lambda metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "lambda"
    },
    {
      "type": "metrics",
      "dataset": "aws.natgateway",
      "title": "AWS NAT gateway metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS NAT gateway metrics",
          "description": "Collect AWS NAT gateway metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "natgateway"
    },
    {
      "type": "metrics",
      "dataset": "aws.rds",
      "title": "AWS RDS metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS RDS metrics",
          "description": "Collect AWS RDS metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "rds"
    },
    {
      "type": "metrics",
      "dataset": "aws.s3_daily_storage",
      "title": "AWS S3 daily storage metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "24h"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS S3 daily storage metrics",
          "description": "Collect AWS S3 daily storage metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "s3_daily_storage"
    },
    {
      "type": "metrics",
      "dataset": "aws.s3_request",
      "title": "AWS S3 request metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS S3 request metrics",
          "description": "Collect AWS S3 request metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "s3_request"
    },
    {
      "type": "logs",
      "dataset": "aws.s3access",
      "title": "AWS s3access logs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "s3",
          "vars": [
            {
              "name": "visibility_timeout",
              "type": "text",
              "title": "Visibility Timeout",
              "description": "The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.  The maximum is 12 hours.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "api_timeout",
              "type": "text",
              "title": "API Timeout",
              "description": "The maximum duration of AWS API can take. The maximum is half of the visibility timeout value.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "queue_url",
              "type": "text",
              "title": "Queue URL",
              "description": "URL of the AWS SQS queue that messages will be received from.",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "fips_enabled",
              "type": "bool",
              "title": "Enable S3 FIPS",
              "description": "Enabling this option changes the service name from `s3` to `s3-fips` for connecting to the correct service endpoint.",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": false
            }
          ],
          "template_path": "s3.yml.hbs",
          "title": "AWS s3access logs",
          "description": "Collect AWS s3access logs using s3 input",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "s3access"
    },
    {
      "type": "metrics",
      "dataset": "aws.sns",
      "title": "AWS SNS metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "5m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS SNS metrics",
          "description": "Collect AWS SNS metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "sns"
    },
    {
      "type": "metrics",
      "dataset": "aws.sqs",
      "title": "AWS SQS metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "5m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS SQS metrics",
          "description": "Collect AWS SQS metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "sqs"
    },
    {
      "type": "metrics",
      "dataset": "aws.transitgateway",
      "title": "AWS Transit Gateway metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS Transit Gateway metrics",
          "description": "Collect AWS Transit Gateway metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "transitgateway"
    },
    {
      "type": "metrics",
      "dataset": "aws.usage",
      "title": "AWS usage metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS usage metrics",
          "description": "Collect AWS usage metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "usage"
    },
    {
      "type": "logs",
      "dataset": "aws.vpcflow",
      "title": "AWS vpcflow logs",
      "release": "beta",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "s3",
          "vars": [
            {
              "name": "visibility_timeout",
              "type": "text",
              "title": "Visibility Timeout",
              "description": "The duration that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.  The maximum is 12 hours.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "api_timeout",
              "type": "text",
              "title": "API Timeout",
              "description": "The maximum duration of AWS API can take. The maximum is half of the visibility timeout value.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "queue_url",
              "type": "text",
              "title": "Queue URL",
              "description": "URL of the AWS SQS queue that messages will be received from.",
              "multi": false,
              "required": true,
              "show_user": true
            },
            {
              "name": "fips_enabled",
              "type": "bool",
              "title": "Enable S3 FIPS",
              "description": "Enabling this option changes the service name from `s3` to `s3-fips` for connecting to the correct service endpoint.",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": false
            }
          ],
          "template_path": "s3.yml.hbs",
          "title": "AWS vpcflow logs",
          "description": "Collect AWS vpcflow logs using s3 input",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "vpcflow"
    },
    {
      "type": "metrics",
      "dataset": "aws.vpn",
      "title": "AWS VPN metrics",
      "release": "beta",
      "streams": [
        {
          "input": "aws/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "1m"
            },
            {
              "name": "regions",
              "type": "text",
              "title": "Regions",
              "multi": true,
              "required": false,
              "show_user": true
            },
            {
              "name": "latency",
              "type": "text",
              "title": "Latency",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "tags_filter",
              "type": "yaml",
              "title": "Tags Filter",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "# - key: \"created-by\"\n  # value: \"foo\"\n"
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "AWS VPN metrics",
          "description": "Collect AWS VPN metrics",
          "enabled": true
        }
      ],
      "package": "aws",
      "path": "vpn"
    }
  ],
  "owner": {
    "github": "elastic/integrations"
  },
  "vars": [
    {
      "name": "shared_credential_file",
      "type": "text",
      "title": "Shared Credential File",
      "description": "Directory of the shared credentials file",
      "multi": false,
      "required": false,
      "show_user": false
    },
    {
      "name": "credential_profile_name",
      "type": "text",
      "title": "Credential Profile Name",
      "multi": false,
      "required": false,
      "show_user": true
    },
    {
      "name": "access_key_id",
      "type": "text",
      "title": "Access Key ID",
      "multi": false,
      "required": false,
      "show_user": false
    },
    {
      "name": "secret_access_key",
      "type": "text",
      "title": "Secret Access Key",
      "multi": false,
      "required": false,
      "show_user": false
    },
    {
      "name": "session_token",
      "type": "text",
      "title": "Session Token",
      "multi": false,
      "required": false,
      "show_user": false
    },
    {
      "name": "role_arn",
      "type": "text",
      "title": "Role ARN",
      "multi": false,
      "required": false,
      "show_user": false
    },
    {
      "name": "endpoint",
      "type": "text",
      "title": "Endpoint",
      "description": "URL of the entry point for an AWS web service",
      "multi": false,
      "required": false,
      "show_user": false,
      "default": "amazonaws.com"
    }
  ]
}

http://localhost:8080/categories?include_policy_templates=true endpoint:

Expand ``` [ { "id": "aws", "title": "AWS", "count": 20 }, { "id": "azure", "title": "Azure", "count": 2 }, { "id": "cloud", "title": "Cloud", "count": 21 }, { "id": "compute", "title": "compute", "count": 1 }, { "id": "containers", "title": "Containers", "count": 1 }, { "id": "crm", "title": "CRM", "count": 1 }, { "id": "custom", "title": "Custom", "count": 13 }, { "id": "datastore", "title": "Datastore", "count": 4 }, { "id": "message_queue", "title": "Message Queue", "count": 1 }, { "id": "monitoring", "title": "Monitoring", "count": 2 }, { "id": "network", "title": "Network", "count": 21 }, { "id": "os_system", "title": "OS \u0026 System", "count": 2 }, { "id": "productivity", "title": "Productivity", "count": 1 }, { "id": "security", "title": "Security", "count": 24 }, { "id": "web", "title": "Web", "count": 4 } ] ```

@kaiyan-sheng kaiyan-sheng self-assigned this Mar 29, 2021
@elasticmachine
Copy link

elasticmachine commented Mar 29, 2021

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: Pull request #685 updated

  • Start Time: 2021-04-14T11:48:33.490+0000

  • Duration: 6 min 40 sec

  • Commit: ab574d3

Test stats 🧪

Test Results
Failed 0
Passed 177
Skipped 0
Total 177

Trends 🧪

Image of Build Times

Image of Tests

@ycombinator
Copy link
Contributor

@kaiyan-sheng is this PR ready for review? Asking because it's in draft status so I wasn't sure if you wanted us to start reviewing it or if it's more of a WIP at this point. Thanks!

@jen-huang
Copy link
Contributor

Thanks for the instructions on running this with the AWS package changes!

For the search endpoint /search?package=aws, I would expect this to return 17 items: one for each policy_templates defined in AWS package info at /package/aws/0.5.2/. Currently the search endpoint just returns 17 icons, which is not enough for Kibana to display each integration tile correctly.

I'm not sure whether /search?package=aws should return 17 top-level items, or if it should return the 17 policy templates as a property of the single AWS package result. @ruflin and the reviewers already ping'd here, I'm curious to get your thoughts on that.

@ruflin
Copy link
Member

ruflin commented Mar 30, 2021

Same thinking as @jen-huang on this. Maybe there is an alternative option here. One thing that bugs me is that we try to munch to different concepts into a single API endpoint. Even with the change, a package stays a package but it contains integrations / input groups. Maybe there should be 2 different API endpoints? One for packages, one for integrations. The format returned would be similar but not identical. Like this we can keep the package endpoint as is and add a new additional one with a new format. Maybe Kibana would then make 2 API calls instead of one to get the full overview? Or the integrations endpoint would also have an option to show packages but not the other way around?

Note: Replace integrations above with whatever term is correct ;-)

@ycombinator
Copy link
Contributor

'm not sure whether /search?package=aws should return 17 top-level items, or if it should return the 17 policy templates as a property of the single AWS package result.

Right, we need to decide what each item in the response from the /search API stands for: a package ("17 policy templates as a property of the single AWS package result") or a search result as needed by the UI in Kibana (i.e. "17 top-level items").

Given that this is a package registry API, I'm slightly in favor of having each item in the API response stand for an individual package. If that package defines multiple policy templates, those should be nested under that package ("17 policy templates as a property of the single AWS package result"). This would preserve the relationship between packages and policy templates, and it would be up to the UI to decide on the best presentation of this relationship: either show the hierarchy, like @ruflin once suggested using Google search results and sub-results as an example, or flatten it so each tile in the search results UI could be a package or a policy template, like @sorantis had shown in the mockups for this feature.

Basically, we would be separating what information is to be presented (API response) from how that information should be presented (UI). IOW, the API wouldn't need to decide or have any influence on how it's data should be presented.

Since this would be an additive change in the API response, older versions of Kibana would continue to render search results the way they do today (i.e. ignoring policy templates) even with the new response structure, while newer versions of Kibana would know how to render the additional information returned in the response.

@kaiyan-sheng
Copy link
Contributor Author

Given that this is a package registry API, I'm slightly in favor of having each item in the API response stand for an individual package. If that package defines multiple policy templates, those should be nested under that package ("17 policy templates as a property of the single AWS package result").

+1, will make the change and update API response in PR description soon. Thank you all for the input!!

@jen-huang
Copy link
Contributor

jen-huang commented Mar 30, 2021

I took a closer look at the response of the package info endpoint /package/aws/0.5.2/ today and I think there is some work left to do there too:

@kaiyan-sheng
Copy link
Contributor Author

Thanks @jen-huang for your review!!

I took a closer look at the response of the package info endpoint /package/aws/0.5.2/ today and I think there is some work left to do there too:

  • policy_templates items do not seem to contain the data_streams field defined on the manifest

We have a separate field for data_streams in parallel with policy_templates. Do we also need to have data_streams under each policy template?

  • There is no top-level input_groups field, but I did not see this in the modified manifest on the AWS PR elastic/integrations#767 either

What do you mean by top-level here? My understanding is input_group can only be defined for each input, which is inside the policy template level. @mtojek Please correct me if I'm wrong, I'm learning still 😂 TIA!!

@mtojek
Copy link
Contributor

mtojek commented Mar 31, 2021

policy_templates items do not seem to contain the data_streams field defined on the manifest

I think this is a valid concern. We need a way to reflect this property in API:
https://github.com/kaiyan-sheng/integrations/blob/aws_with_input_groups/packages/aws/manifest.yml#L232-L234

There is no top-level input_groups field, but I did not see this in the modified manifest on the AWS PR elastic/integrations#767 either

We agreed with @ruflin and @ycombinator to kick off with predefined input groups: "logs" and "metrics". We're just cautious and don't want to give the end-user too much control. In the feature we may extend this set.

@kaiyan-sheng
Copy link
Contributor Author

policy_templates items do not seem to contain the data_streams field defined on the manifest

I think this is a valid concern. We need a way to reflect this property in API:
https://github.com/kaiyan-sheng/integrations/blob/aws_with_input_groups/packages/aws/manifest.yml#L232-L234

Ahh yes sorry I missed these. Will add it in next commit! Thank you!!

@jen-huang
Copy link
Contributor

jen-huang commented Mar 31, 2021

There is no top-level input_groups field, but I did not see this in the modified manifest on the AWS PR elastic/integrations#767 either

We agreed with @ruflin and @ycombinator to kick off with predefined input groups: "logs" and "metrics". We're just cautious and don't want to give the end-user too much control. In the feature we may extend this set.

@mtojek What do you mean by "predefined" input groups? Does this mean we expect Kibana to automatically know about "logs" and "metrics" groups and automatically populate pretty titles in the UI like Collect AWS logs and Collect AWS metrics?

@jen-huang
Copy link
Contributor

jen-huang commented Mar 31, 2021

Thanks for the changes to return policy_templates in the search endpoint! It's looking promising for Kibana but I'm seeing an odd issue where paths is empty ("") in the policy template icons:

Edit: the empty paths are present on the package info endpoint too, for both icons and screenshots

    "policy_templates": [
      {
        "name": "billing",
        "title": "AWS Billing",
        "description": "Collect AWS billing metrics",
        "icons": [
          {
            "src": "/img/logo_billing.svg",
            "path": "",
            "title": "AWS Billing logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      {
        "name": "cloudtrail",
        "title": "AWS Cloudtrail",
        "description": "Collect logs from AWS Cloudtrail",
        "icons": [
          {
            "src": "/img/logo_cloudtrail.svg",
            "path": "",
            "title": "AWS Cloudtrail logo",
            "size": "32x32",
            "type": "image/svg+xml"
          }
        ]
      },
      ...
    }

@jen-huang
Copy link
Contributor

Hi, me once again 😅 After implementing per-integration tiles in Kibana, I realized that now the category count looks off in Kibana compared to the number of tiles. Kibana forwards category count results from package registry's /categories endpoint. There's a couple different ways we can solve:

  1. Have Kibana do additional computation to return an accurate count. This could get expensive as our number of integrations grow.
  2. Adjust the registry's /categories endpoint to return an accurate count based on each package's policy_templates. We could do this with a param like ?include_policy_templates=true or ?include_integrations=true or similar. This is my preferred approach.

Thoughts?

image

@ycombinator
Copy link
Contributor

My understanding is that the list of categories with counts on the left is a form of faceted navigation for the search results (tiles) on the right. If so, personally I think the best approach is to have the data on the left be derived from the data on the right, i.e. option 1. I suspect until we get into 10s of 1000s of search results we're not going to see a performance issue. Is there a reason we didn't do this to begin with and instead have a /categories API? Asking because it's possible I'm missing some knowledge here.

@jen-huang
Copy link
Contributor

Hi, another set of questions this morning ☺️ I noticed that the metrics yaml var is duplicated twice for cloudwatch:

Once at the policy_template > input level:

image

And again at the data_stream > streams level for cloudwatch_metrics:

image

Is there any reason to have input-level vars anymore with this new structure? Can all vars be at the package- or stream- level now?

@kaiyan-sheng
Copy link
Contributor Author

Hi, another set of questions this morning ☺️ I noticed that the metrics yaml var is duplicated twice for cloudwatch

@jen-huang Good catch :) This is actually a mistake on the aws package side in manifest.yml. I just updated elastic/integrations#767 and now http://localhost:8080/package/aws/0.5.2/ endpoint only shows this metrics var under data stream.

@kaiyan-sheng kaiyan-sheng marked this pull request as ready for review April 6, 2021 13:42
@ycombinator
Copy link
Contributor

@mtojek What do you mean by "predefined" input groups? Does this mean we expect Kibana to automatically know about "logs" and "metrics" groups and automatically populate pretty titles in the UI like Collect AWS logs and Collect AWS metrics?

I just checked the package spec and it looks like there is no hard requirement on the input groups being defined as either logs or metrics. So I think it's more of a convention at the moment that we expect packages to name any input groups as either logs or metrics.

That said, input groups also require a field called title, in addition to the name field. IIRC, the intent of the title field is to specify a more human-readable title for the input group. So I would imagine the UI should use this field to populate any titles containing the input group in it.


Just a side note: when looking at the package spec for input groups specs, I got a bit confused because we call them policy groups sometimes and input groups sometimes. I'm going to make a PR now to make things consistent and call all references input groups.

@ycombinator
Copy link
Contributor

Actually, I just noticed that there is, in fact a required description field for input groups as well (in addition to name and title). The examples listed for that field are "Collect logs from AWS service" and "Collect metrics from AWS service". So I'm wondering if the UI should straight up just use these descriptions.

@kaiyan-sheng
Copy link
Contributor Author

@ycombinator Thank you for pointing that out. Somehow I managed to miss input groups in this PR specifically for adding input groups support... Now it's added.

I added input groups as a part of the http://localhost:8080/package/aws/0.5.2/ response body. @jen-huang Will this work for you?

@mtojek
Copy link
Contributor

mtojek commented Apr 7, 2021

I'm a bit confused now, because I remember we talked about predefining groups like metrics or logs. Now I see that they should be defined in manifests. I understand the concern @jen-huang raised regarding rendering descriptions.

I'm fine with both approaches, just better to be on the same page :)

@ruflin @ycombinator @kaiyan-sheng

@ycombinator
Copy link
Contributor

I agree with the confusion, @mtojek. If we allow each package to define input groups via the input_groups field, then it doesn't make sense to say that input groups are predefined across all packages. We also introduce a risk here of different packages defining the same (semantically) input group, e.g. metrics, in slightly different ways, e.g. having slightly different titles.

One solution could be to treat input groups like we do categories. We truly predefine them via an enum, which means packages can only reference an existing pre-defined input group in the policy_templates section. If a package needs a new input group that is not yet defined, it would need to be added to the enumeration list. Also, it would mean doing away with the input_groups element in the spec. The benefit of this approach would be consistency. The down side would be that a package wouldn't be able to define any custom input groups that only really make sense for that package.

Personally, I'd prefer to start with this stricter enum approach and then make things more flexible as/when we need them. But I'm curious what others think. Regardless, I agree with @mtojek that we need to get on the same page here. :)

@ruflin
Copy link
Member

ruflin commented Apr 8, 2021

I also prefer to start with the strict predefined groups and only open it later to be more flexible.

@jen-huang
Copy link
Contributor

Thanks for the /categories endpoint changes @kaiyan-sheng! Azure is correct for me now but there is still something a bit off about the AWS count:

Without param:

{
  "id": "aws",
  "title": "AWS",
  "count": 3
},
{
  "id": "azure",
  "title": "Azure",
  "count": 3
},

With include_policy_templates=true param, I would expect the AWS count to be much higher since it ships 17 policy templates:

{
  "id": "aws",
  "title": "AWS",
  "count": 9
},
{
  "id": "azure",
  "title": "Azure",
  "count": 3
},

@kaiyan-sheng
Copy link
Contributor Author

@jen-huang Ha sorry I was fixing it and forgot to comment :) You beat me to it! I think now with the new commit, it should look better.

@ycombinator
Copy link
Contributor

ycombinator commented Apr 8, 2021

Based on the discussion and consensus above about predefining input groups, I've created elastic/package-spec#158 for restricting the input groups to logs and metrics.

@kaiyan-sheng @jen-huang please note that this will most likely impact this PR here and corresponding changes in Kibana so you might want to wait till elastic/package-spec#158 is reviewed and merged.

@ycombinator
Copy link
Contributor

@kaiyan-sheng @jen-huang I've just merged elastic/package-spec#158. Please take a look and make the necessary adjustments in this PR and the related Kibana PR as well. I think the main change is that each policy template will now just return the name of its input group (no title or description). Kibana will need to generate the title/description.

@kaiyan-sheng
Copy link
Contributor Author

@ycombinator Done, thank you!

Copy link
Contributor

@mtojek mtojek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of minor comments, but in general it looks fine to me.

util/package.go Outdated Show resolved Hide resolved
util/package.go Outdated Show resolved Hide resolved
categories.go Outdated Show resolved Hide resolved
main_test.go Show resolved Hide resolved
@mtojek mtojek self-requested a review April 14, 2021 12:13
@kaiyan-sheng
Copy link
Contributor Author

👋 @jen-huang @ycombinator Thank you for all the comments and help! I know the work on Kibana side is still on going but I'm planning to merge this PR for now and create more smaller PRs later once you see more missing pieces on the registry side.

@kaiyan-sheng kaiyan-sheng merged commit 453ff36 into elastic:master Apr 14, 2021
@kaiyan-sheng kaiyan-sheng deleted the input_groups branch April 14, 2021 12:46
@sorantis
Copy link

Great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants