Class: Aws::S3::Plugins::BucketDns

Inherits:
Seahorse::Client::Plugin
  • Object
show all
Defined in:
lib/aws-sdk-s3/plugins/bucket_dns.rb

Overview

Amazon S3 requires DNS style addressing for buckets outside of the classic region when possible.

Class Method Summary collapse

Class Method Details

.dns_compatible?(bucket_name, ssl) ⇒ Boolean

Parameters:

  • bucket_name (String)
  • ssl (Boolean)

Returns:

  • (Boolean)


33
34
35
36
37
38
39
# File 'lib/aws-sdk-s3/plugins/bucket_dns.rb', line 33

def dns_compatible?(bucket_name, ssl)
  if valid_subdomain?(bucket_name)
    bucket_name.match(/\./) && ssl ? false : true
  else
    false
  end
end

.valid_subdomain?(bucket_name) ⇒ Boolean

Parameters:

  • bucket_name (String)

Returns:

  • (Boolean)


43
44
45
46
47
48
# File 'lib/aws-sdk-s3/plugins/bucket_dns.rb', line 43

def valid_subdomain?(bucket_name)
  bucket_name.size < 64 &&
  bucket_name =~ /^[a-z0-9][a-z0-9.-]+[a-z0-9]$/ &&
  bucket_name !~ /(\d+\.){3}\d+/ &&
  bucket_name !~ /[.-]{2}/
end