Table: aws_apigatewayv2_api_stages

This table shows data for Amazon API Gateway v2 API Stages.

https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-stages.html (opens in a new tab)

The composite primary key for this table is (account_id, arn).

Relations

This table depends on aws_apigatewayv2_apis.

Columns

NameType
_cq_iduuid
_cq_parent_iduuid
account_id (PK)utf8
regionutf8
api_arnutf8
api_idutf8
arn (PK)utf8
stage_nameutf8
access_log_settingsjson
api_gateway_managedbool
auto_deploybool
client_certificate_idutf8
created_datetimestamp[us, tz=UTC]
default_route_settingsjson
deployment_idutf8
descriptionutf8
last_deployment_status_messageutf8
last_updated_datetimestamp[us, tz=UTC]
route_settingsjson
stage_variablesjson
tagsjson

Example Queries

These SQL queries are sampled from CloudQuery policies and are compatible with PostgreSQL.

API Gateway REST and WebSocket API logging should be enabled

(
  SELECT
    DISTINCT
    'API Gateway REST and WebSocket API logging should be enabled' AS title,
    r.account_id,
    'arn:' || 'aws' || ':apigateway:' || r.region || ':/restapis/' || r.id
      AS resource_id,
    CASE
    WHEN s.logging_level NOT IN ('"ERROR"', '"INFO"') THEN 'fail'
    ELSE 'pass'
    END
      AS status
  FROM
    view_aws_apigateway_method_settings AS s
    LEFT JOIN aws_apigateway_rest_apis AS r ON s.rest_api_arn = r.arn
)
UNION
  (
    SELECT
      DISTINCT
      'API Gateway REST and WebSocket API logging should be enabled' AS title,
      a.account_id,
      'arn:' || 'aws' || ':apigateway:' || a.region || ':/apis/' || a.id
        AS resource_id,
      CASE
      WHEN s.default_route_settings->>'LoggingLevel' IN (NULL, 'OFF')
      THEN 'fail'
      ELSE 'pass'
      END
        AS status
    FROM
      aws_apigatewayv2_api_stages AS s
      LEFT JOIN aws_apigatewayv2_apis AS a ON s.api_arn = a.arn
  );