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.
- all platforms where the aws-sdk works
- Chef 12.9+
- none
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
endNOTE: If you do not specify aws credentials, it will attempt to use the AWS IAM Role assigned to the instance instead.
kitchen convergenameRequired. String. - name of the domain or subdomain.valueString Array - value appropriate to thetype.. for type 'A' value would be an IP address in IPv4 format for example.typeRequired. String DNS record typettlInteger default: 3600 - time to live, the amount of time in seconds to cache information about the recordweightOptional. 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 IMPLEMENTEDset_identifierOptional . String. - a value that uniquely identifies record in the group of weighted record setsgeo_locationString.geo_location_countryStringgeo_location_continentStringgeo_location_subdivisionStringset_identifierStringzone_idStringaws_access_key_idStringaws_secret_access_keyStringaws_regionString default: 'us-east-1'overwrite[true false] default: truealias_targetOptional. 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: falsefail_on_error[true false] default: false
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')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
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.