Skip to content

How do I define a scenario for a required related resource #645

@murcikan-scottlogic

Description

@murcikan-scottlogic

Is there a way to define a required related resource e.g.

GIVEN I have aws_s3_bucket defined
THEN aws_s3_bucket_server_side_encryption_configuration resource must exist
AND it must have bucket
AND it must be in {aws_s3_bucket_server_side_encryption_configuration.values.bucket}

This issue is rather similar but given this TF:

resource "aws_s3_bucket" "bckt1" {
  bucket = "bucket_1"
}

resource "aws_s3_bucket" "bckt2" {
  bucket = "bucket_2"
}

resource "aws_s3_bucket_server_side_encryption_configuration" "sse1" {
  bucket = aws_s3_bucket.bckt1.id
  rule {}
}

the following scenario succeeds:

@noskip
  Scenario: Ensure all S3 buckets have server side encryption
    Given I have aws_s3_bucket defined
    Given I have aws_s3_bucket_server_side_encryption_configuration defined
    Then it must have bucket
    Then it must be in {aws_s3_bucket_server_side_encryption_configuration.values.bucket}

even though bucket_2 doesn't have a corresponding server side encryption.

I would like to make sure that standalone logging, versioning, encryption and similar s3 bucket resources exist for every s3 bucket.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions