示例#1
0
def pretf_blocks(var):
    nonprod = yield provider_aws(
        alias="nonprod",
        region=var.aws_region,
        **var.aws_credentials["nonprod"],
    )
    yield data.aws_caller_identity.nonprod(provider=nonprod)
    yield provider_aws(
        alias="prod",
        region=var.aws_region,
        **var.aws_credentials["prod"],
    )
示例#2
0
def pretf_blocks(var):
    # Create variables needed by this file.
    yield variable.account(type="string")
    yield variable.aws_credentials(
        default={
            "nonprod": {"profile": "pretf-nonprod"},
            "prod": {"profile": "pretf-prod"},
        }
    )
    yield variable.aws_region(default="eu-west-1")
    yield variable.environment(type="string")
    yield variable.stack(type="string")

    # Create a backend configuration using the environment details.
    # Stacks in the same account share backend resources.
    yield terraform_backend_s3(
        bucket=f"pretf-example-project-{var.account}",
        dynamodb_table=f"pretf-example-project-{var.account}",
        key=f"{var.stack}/{var.environment}/terraform.tfstate",
        region=var.aws_region,
        **var.aws_credentials[var.account],
    )

    # Create a default AWS provider for this environment.
    yield provider_aws(
        region=var.aws_region, **var.aws_credentials[var.account],
    )
示例#3
0
文件: stack.tf.py 项目: mdawar/pretf
def pretf_blocks(var):

    # Create variables needed by this file.

    yield block(
        "variable", "aws_credentials", {
            "default": {
                "nonprod": {
                    "profile": "pretf-nonprod",
                },
                "prod": {
                    "profile": "pretf-prod",
                },
            },
        })
    yield block("variable", "aws_region", {
        "default": "eu-west-1",
    })
    yield block("variable", "environment", {
        "type": "string",
    })
    yield block("variable", "stack", {
        "type": "string",
    })

    # Create a backend configuration using the environment details.
    # Stacks in the same account share backend resources.

    if var.environment == 'prod':
        account = "prod"
    else:
        account = "nonprod"

    backend = f"pretf-examples-flatten-{account}"

    yield terraform_backend_s3(
        bucket=backend,
        dynamodb_table=backend,
        key=f"{var.stack}/terraform.tfstate",
        region=var.aws_region,
        **var.aws_credentials[account],
    )

    # Create a default AWS provider for this environment.

    yield provider_aws(
        region=var.aws_region,
        **var.aws_credentials[account],
    )
示例#4
0
def pretf_blocks(terraform, var):

    # Create variables needed by this file.

    yield block(
        "variable", "aws_credentials", {
            "default": {
                "nonprod": {
                    "profile": "pretf-nonprod",
                },
                "prod": {
                    "profile": "pretf-prod",
                },
            },
        })
    yield block("variable", "aws_region", {
        "default": "eu-west-1",
    })
    yield block("variable", "environment", {
        "type": "string",
    })
    yield block("variable", "stack", {
        "type": "string",
    })

    # Create a backend configuration in the prod account,
    # because all workspaces must use the same backend.

    yield terraform_backend_s3(
        bucket="pretf-examples-workspaces",
        dynamodb_table="pretf-examples-workspaces",
        key=f"{var.stack}/terraform.tfstate",
        region="eu-west-1",
        workspace_key_prefix="",
        **var.aws_credentials["prod"],
    )

    # Create a default AWS provider for this workspace.

    if terraform.workspace == "prod":
        account = "prod"
    else:
        account = "nonprod"

    yield provider_aws(
        region=var.aws_region,
        **var.aws_credentials[account],
    )
示例#5
0
文件: aws.tf.py 项目: ryanm101/pretf
def pretf_blocks(var):
    yield provider_aws(
        region=var.aws_region,
        **var.aws_credentials["nonprod"],
    )