Control: Codedeploy deployment groups lambda allatonce traffic shift should be disabled
Description
This control checks if the deployment group for Lambda Compute Platform is not using the default deployment configuration. The rule is non-compliant if the deployment group is using the deployment configuration 'CodeDeployDefault.LambdaAllAtOnce'.
Usage
Run the control in your terminal:
powerpipe control run aws_compliance.control.codedeploy_deployment_group_lambda_allatonce_traffic_shift_disabledSnapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.codedeploy_deployment_group_lambda_allatonce_traffic_shift_disabled --shareSQL
This control uses a named query:
with codedeployment_groups as (  select    arn,    application_name,    deployment_config_name,    tags,    title,    region,    account_id,    _ctx  from    aws_codedeploy_deployment_group  group by    arn,    application_name,    deployment_config_name,    tags,    title,    region,    account_id,    _ctx),codedeploy_apps as (  select    application_name,    compute_platform,    region,    account_id,    title  from    aws_codedeploy_app  group by    application_name,    compute_platform,    region,    account_id,    title)select  g.arn as resource,  case    when a.compute_platform <> 'Lambda' then 'skip'    when deployment_config_name = 'CodeDeployDefault.LambdaAllAtOnce' then 'alarm'    else 'ok'  end as status,  case    when a.compute_platform <> 'Lambda' then g.title || ' using ' ||  a.compute_platform || ' compute platform.'    else g.title || ' using '|| deployment_config_name || ' deployment config.'  end as reason    , g.region, g.account_idfrom  codedeployment_groups as g,  codedeploy_apps as awhere  g.application_name = a.application_name;