Git Product home page Git Product logo

route53's Introduction

route53 cookbook

Build Status Cookbook Version

Updates Amazon Web Service's Route 53 (DNS) service.

Amazon Route 53 can be used as DNS for any registered domain name. This cookbook provides a single resource route53_record that allows you to create or delete records.

Requirements

Platforms

  • all platforms where the aws-sdk works

Chef

  • Chef 12.9+

Cookbooks

  • none

Usage

route53_record "create a record" do
  name  "test"
  value "16.8.4.2"
  type  "A"

  # The following are for routing policies
  weight "1" (optional)
  set_identifier "my-instance-id" (optional-must be unique)
  zone_id               node[:route53][:zone_id]
  aws_access_key_id     node[:route53][:aws_access_key_id]
  aws_secret_access_key node[:route53][:aws_secret_access_key]
  overwrite true
  fail_on_error false (set to true to report failure to Chef)
  action :create
end

NOTE: If you do not specify aws credentials, it will attempt to use the AWS IAM Role assigned to the instance instead.

kitchen converge

Resources Overview

route53_record

Parameters

  • name Required. String. - name of the domain or subdomain.
  • value String Array - value appropriate to the type.. for type 'A' value would be an IP address in IPv4 format for example.
  • type Required. String DNS record type
  • ttl Integer default: 3600 - time to live, the amount of time in seconds to cache information about the record
  • weight Optional. String. - a value that determines the proportion of DNS queries that will use this record for the response. Valid options are between 0-255. NOT CURRENTLY IMPLEMENTED
  • set_identifier Optional . String. - a value that uniquely identifies record in the group of weighted record sets
  • geo_location String.
  • geo_location_country String
  • geo_location_continent String
  • geo_location_subdivision String
  • set_identifier String
  • zone_id String
  • aws_access_key_id String
  • aws_secret_access_key String
  • aws_region String default: 'us-east-1'
  • overwrite [true false] default: true
  • alias_target Optional. Hash. - Associated with Amazon 'alias' type records. The hash contents varies depending on the type of target the alias points to.
  • mock [true false] default: false
  • fail_on_error [true false] default: false

ChefSpec Matcher

This Cookbook includes a Custom Matcher for testing the route53_record LWRP with ChefSpec.

To utilize this Custom Matcher use the following test your spec:

expect(chef_run).to create_route53_record('example.com')

Development Notes

A useful reference for the structure of the AWS route53 requests: http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets_Requests.html#API_ChangeResourceRecordSets_RequestBasicSyntax

And the relevant AWS-SDK doc: http://docs.aws.amazon.com/sdkforruby/api/Aws/Route53/Client.html#change_resource_record_sets-instance_method

License & Authors

Copyright:: 2011-2016, Heavy Water Software
Copyright:: 2016-2017, Chef Software

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

route53's People

Contributors

agoddard avatar ampledata avatar chasebolt avatar danfruehauf avatar dje avatar dwradcliffe avatar eherot avatar iennae avatar josacar avatar jrosen avatar leejones avatar luckymike avatar mansona avatar mhdali avatar motns avatar palexvs avatar pburkholder avatar redterror avatar scalp42 avatar tas50 avatar tinuva avatar ubiquitousthey avatar willejs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.