Skip to content

AWS pipeline library for the Flowpipe cloud scripting engine. Automation and workflows to connect AWS to the people, systems and data that matters.

License

Notifications You must be signed in to change notification settings

turbot/flowpipe-mod-aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AWS Mod for Flowpipe

AWS pipeline library for Flowpipe, enabling seamless integration of AWS services into your workflows.

Documentation

Getting Started

Requirements

Docker daemon must be installed and running. Please see Install Docker Engine for more information.

Installation

Download and install Flowpipe (https://flowpipe.io/downloads). Or use Brew:

brew tap turbot/tap
brew install flowpipe

Credentials

By default, the following environment variables will be used for authentication:

  • AWS_PROFILE
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

You can also create credential resources in configuration files:

vi ~/.flowpipe/config/aws.fpc
credential "aws" "aws_profile" {
  profile = "my-profile"
}

credential "aws" "aws_access_key_pair" {
  access_key = "AKIA..."
  secret_key = "dP+C+J..."
}

credential "aws" "aws_session_token" {
  access_key    = "AKIA..."
  secret_key    = "dP+C+J..."
  session_token = "AQoDX..."
}

For more information on credentials in Flowpipe, please see Managing Credentials.

Usage

Initialize a mod:

mkdir my_mod
cd my_mod
flowpipe mod init

Install the AWS mod as a dependency:

flowpipe mod install github.com/turbot/flowpipe-mod-aws

Use the dependency in a pipeline step:

vi my_pipeline.fp
pipeline "my_pipeline" {

  step "pipeline" "describe_ec2_instances" {
    pipeline = aws.pipeline.describe_ec2_instances
    args = {
      instance_type = "t2.micro"
      region        = "us-east-1"
    }
  }
}

Run the pipeline:

flowpipe pipeline run my_pipeline

Developing

Clone:

git clone https://github.com/turbot/flowpipe-mod-aws.git
cd flowpipe-mod-aws

List pipelines:

flowpipe pipeline list

Run a pipeline:

flowpipe pipeline run describe_ec2_instances --arg 'instance_ids=["i-1234567890abcdef0", "i-abcdef12345"]' --arg instance_type=t2.micro --arg region=ap-south-1

To use a specific credential, specify the cred pipeline argument:

flowpipe pipeline run describe_ec2_instances --arg cred=aws_profile --arg instance_type=t2.micro --arg region=us-east-1

Open Source & Contributing

This repository is published under the Apache 2.0 license. Please see our code of conduct. We look forward to collaborating with you!

Flowpipe is a product produced from this open source software, exclusively by Turbot HQ, Inc. It is distributed under our commercial terms. Others are allowed to make their own distribution of the software, but cannot use any of the Turbot trademarks, cloud services, etc. You can learn more in our Open Source FAQ.

Get Involved

Join #flowpipe on Slack →

Want to help but not sure where to start? Pick up one of the help wanted issues: