/amazoncomponents

NetflixOSS Utilities for working with Amazon AWS SDK

Primary LanguageJavaApache License 2.0Apache-2.0

Netflix Amazon Components

This project provides common utilities for working with the Amazon AWS SDK.

Edda

Through the AmazonClientProvider, callers can get supply an Edda host as a String pattern in the form that formats to a hostname that includes a region and environment name (in that order) in the URL, which formats to a URL that maps to an Edda host. For example: http://edda.%s.%s.netflix.com will be formatted to http://edda.us-east-1.test.netflix.com when I am requesting a client in "us-east-1" with an AmazonCredentials object that uses "test" as its environment.

Quick Use

From Gradle:

repositories {
  mavenCentral()
}
dependencies {
  compile 'com.amazonaws:aws-java-sdk:1.7.9'
  compile 'com.netflix.amazoncomponents:amazoncomponents:0.8'
}

... and then ...

import com.netflix.amazoncomponents.security.*
import com.amazonaws.auth.BasicAWSCredentials

def credentials = new AmazonCredentials(new BasicAWSCredentials("accessId", "secretKey"), "test")

def eddaFormat = "http://edda.%s.%s.netflix.com" // will get translated to http://edda.us-east-1.test.netflix.com
def provider = new AmazonClientProvider(eddaFormat)

def amazonEC2 = provider.getAmazonEC2(credentials, "us-east-1")

// This call will go through Edda
amazonEC2.describeSecurityGroups()

Credentials

There sometimes is the need to draw an internal correlation of a given account to an arbitrarily named environment. To facilitate that relationship, this project projects an AmazonCredentials class, which provides that relationship to the AmazonClientProvider.

Authors

Dan Woods

License and Copyright

This project is licensed under the Apache Software License. See LICENSE for futher information. This project is Copyright (C) 2014 Netflix, Inc.