Class: Fog::CDN::AWS::Real
- Inherits:
-
Object
- Object
- Fog::CDN::AWS::Real
- Defined in:
- lib/fog/aws/cdn.rb,
lib/fog/aws/requests/cdn/get_distribution.rb,
lib/fog/aws/requests/cdn/post_distribution.rb,
lib/fog/aws/requests/cdn/post_invalidation.rb,
lib/fog/aws/requests/cdn/delete_distribution.rb,
lib/fog/aws/requests/cdn/get_distribution_list.rb,
lib/fog/aws/requests/cdn/get_invalidation_list.rb,
lib/fog/aws/requests/cdn/put_distribution_config.rb,
lib/fog/aws/requests/cdn/get_streaming_distribution.rb,
lib/fog/aws/requests/cdn/post_streaming_distribution.rb,
lib/fog/aws/requests/cdn/delete_streaming_distribution.rb,
lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb,
lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb
Instance Method Summary collapse
-
#delete_distribution(distribution_id, etag) ⇒ Object
Delete a distribution from CloudFront.
-
#delete_streaming_distribution(distribution_id, etag) ⇒ Object
Delete a streaming distribution from CloudFront.
-
#get_distribution(distribution_id) ⇒ Object
Get information about a distribution from CloudFront.
-
#get_distribution_list(options = {}) ⇒ Object
List information about distributions in CloudFront.
-
#get_invalidation_list(distribution_id, options = {}) ⇒ Object
Parameters * options<~Hash> - config arguments for list.
-
#get_streaming_distribution(distribution_id) ⇒ Object
Get information about a streaming distribution from CloudFront.
-
#get_streaming_distribution_list(options = {}) ⇒ Object
List information about distributions in CloudFront.
-
#initialize(options = {}) ⇒ Real
constructor
Initialize connection to Cloudfront.
-
#post_distribution(options = {}) ⇒ Object
create a new distribution in CloudFront.
-
#post_invalidation(distribution_id, paths, caller_reference = Time.now.to_i.to_s) ⇒ Object
List information about distributions in CloudFront.
-
#post_streaming_distribution(options = {}) ⇒ Object
create a new streaming distribution in CloudFront.
-
#put_distribution_config(distribution_id, etag, options = {}) ⇒ Object
update a distribution in CloudFront.
-
#put_streaming_distribution_config(distribution_id, etag, options = {}) ⇒ Object
update a streaming distribution in CloudFront.
- #reload ⇒ Object
Methods included from AWS::CredentialFetcher::ConnectionMethods
#refresh_credentials_if_expired
Constructor Details
#initialize(options = {}) ⇒ Real
Initialize connection to Cloudfront
Notes
options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection
Examples
cdn = Fog::AWS::CDN.new(
:aws_access_key_id => your_aws_access_key_id,
:aws_secret_access_key => your_aws_secret_access_key
)
Parameters
-
options<~Hash> - config arguments for connection. Defaults to {}.
Returns
-
cdn object with connection to aws.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/fog/aws/cdn.rb', line 87 def initialize(={}) require 'fog/core/parser' @use_iam_profile = [:use_iam_profile] setup_credentials() @connection_options = [:connection_options] || {} @host = [:host] || 'cloudfront.amazonaws.com' @path = [:path] || '/' @persistent = .fetch(:persistent, true) @port = [:port] || 443 @scheme = [:scheme] || 'https' @version = [:version] || '2010-11-01' @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options) end |
Instance Method Details
#delete_distribution(distribution_id, etag) ⇒ Object
Delete a distribution from CloudFront
Parameters
-
distribution_id<~String> - Id of distribution to delete
-
etag<~String> - etag of that distribution from earlier get or put
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/DeleteDistribution.html
15 16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/cdn/delete_distribution.rb', line 15 def delete_distribution(distribution_id, etag) request({ :expects => 204, :headers => { 'If-Match' => etag }, :idempotent => true, :method => 'DELETE', :path => "/distribution/#{distribution_id}" }) end |
#delete_streaming_distribution(distribution_id, etag) ⇒ Object
Delete a streaming distribution from CloudFront
Parameters
-
distribution_id<~String> - Id of distribution to delete
-
etag<~String> - etag of that distribution from earlier get or put
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/DeleteStreamingDistribution.html
15 16 17 18 19 20 21 22 23 |
# File 'lib/fog/aws/requests/cdn/delete_streaming_distribution.rb', line 15 def delete_streaming_distribution(distribution_id, etag) request({ :expects => 204, :headers => { 'If-Match' => etag }, :idempotent => true, :method => 'DELETE', :path => "/streaming-distribution/#{distribution_id}" }) end |
#get_distribution(distribution_id) ⇒ Object
Get information about a distribution from CloudFront
Parameters
-
distribution_id<~String> - id of distribution
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
‘OriginAccessIdentity’<~String> - Optional: Used when serving private content
-
or
-
‘CustomOrigin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘www.example.com’
-
‘HTTPPort’<~Integer> - HTTP port of origin, in [80, 443] or (1024…65535)
-
‘HTTPSPort’<~Integer> - HTTPS port of origin, in [80, 443] or (1024…65535)
-
‘OriginProtocolPolicy’<~String> - Policy on using http vs https, in [‘http-only’, ‘match-viewer’]
-
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Status’<~String> - Status of distribution
-
‘DistributionConfig’<~Array>:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘CNAME’<~Array> - array of associated cnames
-
‘Comment’<~String> - comment associated with distribution
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘InProgressInvalidationBatches’<~Integer> - number of invalidation batches in progress
-
‘Logging’<~Hash>:
-
‘Bucket’<~String> - bucket logs are stored in
-
‘Prefix’<~String> - prefix logs are stored with
-
-
‘Origin’<~String> - s3 origin bucket
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetDistribution.html
44 45 46 47 48 49 50 51 52 |
# File 'lib/fog/aws/requests/cdn/get_distribution.rb', line 44 def get_distribution(distribution_id) request({ :expects => 200, :idempotent => true, :method => 'GET', :parser => Fog::Parsers::CDN::AWS::Distribution.new, :path => "/distribution/#{distribution_id}" }) end |
#get_distribution_list(options = {}) ⇒ Object
List information about distributions in CloudFront
Parameters
-
options<~Hash> - config arguments for list. Defaults to {}.
-
‘Marker’<~String> - limits object keys to only those that appear lexicographically after its value.
-
‘MaxItems’<~Integer> - limits number of object keys returned
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘IsTruncated’<~Boolean> - Whether or not the listing is truncated
-
‘Marker’<~String> - Marker specified for query
-
‘MaxItems’<~Integer> - Maximum number of keys specified for query
-
‘NextMarker’<~String> - Marker to specify for next page (id of last result of current page)
-
‘DistributionSummary’<~Array>:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
‘OriginAccessIdentity’<~String> - Optional: Used when serving private content
-
or
-
‘CustomOrigin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘www.example.com’
-
‘HTTPPort’<~Integer> - HTTP port of origin, in [80, 443] or (1024…65535)
-
‘HTTPSPort’<~Integer> - HTTPS port of origin, in [80, 443] or (1024…65535)
-
-
‘OriginProtocolPolicy’<~String> - Policy on using http vs https, in [‘http-only’, ‘match-viewer’]
-
‘Comment’<~String> - comment associated with distribution
-
‘CNAME’<~Array> - array of associated cnames
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Origin’<~String> - s3 origin bucket
-
‘Status’<~String> - Status of distribution
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListDistributions.html
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/fog/aws/requests/cdn/get_distribution_list.rb', line 45 def get_distribution_list( = {}) request({ :expects => 200, :idempotent => true, :method => 'GET', :parser => Fog::Parsers::CDN::AWS::GetDistributionList.new, :path => "/distribution", :query => }) end |
#get_invalidation_list(distribution_id, options = {}) ⇒ Object
Parameters
-
options<~Hash> - config arguments for list. Defaults to {}.
-
‘Marker’<~String> - limits object keys to only those that appear lexicographically after its value.
-
‘MaxItems’<~Integer> - limits number of object keys returned
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘IsTruncated’<~Boolean> - Whether or not the listing is truncated
-
‘Marker’<~String> - Marker specified for query
-
‘MaxItems’<~Integer> - Maximum number of keys specified for query
-
‘NextMarker’<~String> - Marker to specify for next page (id of last result of current page)
-
‘InvalidationSummary’<~Array>:
-
‘Id’<~String>:
-
‘Status’<~String>:
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListInvalidation.html
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fog/aws/requests/cdn/get_invalidation_list.rb', line 28 def get_invalidation_list(distribution_id, = {}) request({ :expects => 200, :idempotent => true, :method => 'GET', :parser => Fog::Parsers::CDN::AWS::GetInvalidationList.new, :path => "/distribution/#{distribution_id}/invalidation", :query => }) end |
#get_streaming_distribution(distribution_id) ⇒ Object
Get information about a streaming distribution from CloudFront
Parameters
-
distribution_id<~String> - id of distribution
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
‘OriginAccessIdentity’<~String> - Optional: Used when serving private content
-
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Status’<~String> - Status of distribution
-
‘StreamingDistributionConfig’<~Array>:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘CNAME’<~Array> - array of associated cnames
-
‘Comment’<~String> - comment associated with distribution
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘InProgressInvalidationBatches’<~Integer> - number of invalidation batches in progress
-
‘Logging’<~Hash>:
-
‘Bucket’<~String> - bucket logs are stored in
-
‘Prefix’<~String> - prefix logs are stored with
-
-
‘Origin’<~String> - s3 origin bucket
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/GetStreamingDistribution.html
37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aws/requests/cdn/get_streaming_distribution.rb', line 37 def get_streaming_distribution(distribution_id) request({ :expects => 200, :idempotent => true, :method => 'GET', :parser => Fog::Parsers::CDN::AWS::StreamingDistribution.new, :path => "/streaming-distribution/#{distribution_id}" }) end |
#get_streaming_distribution_list(options = {}) ⇒ Object
List information about distributions in CloudFront
Parameters
-
options<~Hash> - config arguments for list. Defaults to {}.
-
‘Marker’<~String> - limits object keys to only those that appear lexicographically after its value.
-
‘MaxItems’<~Integer> - limits number of object keys returned
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘IsTruncated’<~Boolean> - Whether or not the listing is truncated
-
‘Marker’<~String> - Marker specified for query
-
‘MaxItems’<~Integer> - Maximum number of keys specified for query
-
‘NextMarker’<~String> - Marker to specify for next page (id of last result of current page)
-
‘StreamingDistributionSummary’<~Array>:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
‘OriginAccessIdentity’<~String> - Optional: Used when serving private content
-
or
-
‘CustomOrigin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘www.example.com’
-
‘HTTPPort’<~Integer> - HTTP port of origin, in [80, 443] or (1024…65535)
-
‘HTTPSPort’<~Integer> - HTTPS port of origin, in [80, 443] or (1024…65535)
-
-
‘OriginProtocolPolicy’<~String> - Policy on using http vs https, in [‘http-only’, ‘match-viewer’]
-
‘Comment’<~String> - comment associated with distribution
-
‘CNAME’<~Array> - array of associated cnames
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Origin’<~String> - s3 origin bucket
-
‘Status’<~String> - Status of distribution
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/ListStreamingDistributions.html
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb', line 45 def get_streaming_distribution_list( = {}) request({ :expects => 200, :idempotent => true, :method => 'GET', :parser => Fog::Parsers::CDN::AWS::GetStreamingDistributionList.new, :path => "/streaming-distribution", :query => }) end |
#post_distribution(options = {}) ⇒ Object
create a new distribution in CloudFront
Parameters
-
options<~Hash> - config for distribution. Defaults to {}. REQUIRED:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
‘OriginAccessIdentity’<~String> - Optional: Used when serving private content
-
or
-
‘CustomOrigin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘www.example.com’
-
‘HTTPPort’<~Integer> - Optional HTTP port of origin, in [80, 443] or (1024…65535), defaults to 80
-
‘HTTPSPort’<~Integer> - Optional HTTPS port of origin, in [80, 443] or (1024…65535), defaults to 443
-
‘OriginProtocolPolicy’<~String> - Policy on using http vs https, in [‘http-only’, ‘match-viewer’]
-
OPTIONAL:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘Comment’<~String> - Optional comment about distribution
-
‘CNAME’<~Array> - Optional array of strings to set as CNAMEs
-
‘DefaultRootObject’<~String> - Optional default object to return for ‘/’
-
‘Enabled’<~Boolean> - Whether or not distribution should accept requests, defaults to true
-
‘Logging’<~Hash>: Optional logging config
-
‘Bucket’<~String> - Bucket to store logs in, ie ‘mylogs.s3.amazonaws.com’
-
‘Prefix’<~String> - Optional prefix for log filenames, ie ‘myprefix/’
-
-
‘OriginAccessIdentity’<~String> - Used for serving private content, in format ‘origin-access-identity/cloudfront/ID’
-
‘RequiredProtocols’<~String> - Optional, set to ‘https’ to force https connections
-
‘TrustedSigners’<~Array> - Optional grant of rights to up to 5 aws accounts to generate signed URLs for private content, elements are either ‘Self’ for your own account or an AWS Account Number
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘DomainName’<~String>: Domain name of distribution
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Status’<~String> - Status of distribution
-
‘DistributionConfig’<~Array>:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘CNAME’<~Array> - array of associated cnames
-
‘Comment’<~String> - comment associated with distribution
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘Logging’<~Hash>:
-
‘Bucket’<~String> - bucket logs are stored in
-
‘Prefix’<~String> - prefix logs are stored with
-
-
‘Origin’<~String> - s3 origin bucket
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateDistribution.html
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/fog/aws/requests/cdn/post_distribution.rb', line 56 def post_distribution( = {}) ['CallerReference'] = Time.now.to_i.to_s data = '<?xml version="1.0" encoding="UTF-8"?>' data << "<DistributionConfig xmlns=\"http://cloudfront.amazonaws.com/doc/#{@version}/\">" for key, value in case value when Array for item in value data << "<#{key}>#{item}</#{key}>" end when Hash data << "<#{key}>" for inner_key, inner_value in value data << "<#{inner_key}>#{inner_value}</#{inner_key}>" end data << "</#{key}>" else data << "<#{key}>#{value}</#{key}>" end end data << "</DistributionConfig>" request({ :body => data, :expects => 201, :headers => { 'Content-Type' => 'text/xml' }, :idempotent => true, :method => 'POST', :parser => Fog::Parsers::CDN::AWS::Distribution.new, :path => "/distribution" }) end |
#post_invalidation(distribution_id, paths, caller_reference = Time.now.to_i.to_s) ⇒ Object
List information about distributions in CloudFront
Parameters
-
distribution_id<~String> - Id of distribution for invalidations
-
paths<~Array> - Array of string paths to objects to invalidate
-
caller_reference<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘Id’<~String> - Id of invalidation
-
‘Status’<~String> - Status of invalidation
-
‘CreateTime’<~Integer> - Time of invalidation creation
-
‘InvalidationBatch’<~Array>:
-
‘Path’<~Array> - Array of strings of objects to invalidate
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/fog/aws/requests/cdn/post_invalidation.rb', line 29 def post_invalidation(distribution_id, paths, caller_reference = Time.now.to_i.to_s) body = '<?xml version="1.0" encoding="UTF-8"?>' body << "<InvalidationBatch>" for path in [*paths] body << "<Path>" << path << "</Path>" end body << "<CallerReference>" << caller_reference << "</CallerReference>" body << "</InvalidationBatch>" request({ :body => body, :expects => 201, :headers => {'Content-Type' => 'text/xml'}, :idempotent => true, :method => 'POST', :parser => Fog::Parsers::CDN::AWS::PostInvalidation.new, :path => "/distribution/#{distribution_id}/invalidation" }) end |
#post_streaming_distribution(options = {}) ⇒ Object
create a new streaming distribution in CloudFront
Parameters
-
options<~Hash> - config for distribution. Defaults to {}. REQUIRED:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
OPTIONAL:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘Comment’<~String> - Optional comment about distribution
-
‘CNAME’<~Array> - Optional array of strings to set as CNAMEs
-
‘Enabled’<~Boolean> - Whether or not distribution should accept requests, defaults to true
-
‘Logging’<~Hash>: Optional logging config
-
‘Bucket’<~String> - Bucket to store logs in, ie ‘mylogs.s3.amazonaws.com’
-
‘Prefix’<~String> - Optional prefix for log filenames, ie ‘myprefix/’
-
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘Id’<~String> - Id of distribution
-
‘Status’<~String> - Status of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘DomainName’<~String>: Domain name of distribution
-
‘StreamingDistributionConfig’<~Array>:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘CNAME’<~Array> - array of associated cnames
-
‘Comment’<~String> - comment associated with distribution
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘Logging’<~Hash>:
-
‘Bucket’<~String> - bucket logs are stored in
-
‘Prefix’<~String> - prefix logs are stored with
-
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateStreamingDistribution.html
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/fog/aws/requests/cdn/post_streaming_distribution.rb', line 43 def post_streaming_distribution( = {}) ['CallerReference'] = Time.now.to_i.to_s data = '<?xml version="1.0" encoding="UTF-8"?>' data << "<StreamingDistributionConfig xmlns=\"http://cloudfront.amazonaws.com/doc/#{@version}/\">" for key, value in case value when Array for item in value data << "<#{key}>#{item}</#{key}>" end when Hash data << "<#{key}>" for inner_key, inner_value in value data << "<#{inner_key}>#{inner_value}</#{inner_key}>" end data << "</#{key}>" else data << "<#{key}>#{value}</#{key}>" end end data << "</StreamingDistributionConfig>" request({ :body => data, :expects => 201, :headers => { 'Content-Type' => 'text/xml' }, :idempotent => true, :method => 'POST', :parser => Fog::Parsers::CDN::AWS::StreamingDistribution.new, :path => "/streaming-distribution" }) end |
#put_distribution_config(distribution_id, etag, options = {}) ⇒ Object
update a distribution in CloudFront
Parameters
-
distribution_id<~String> - Id of distribution to update config for
-
options<~Hash> - config for distribution. Defaults to {}. REQUIRED:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
‘OriginAccessIdentity’<~String> - Optional: Used when serving private content
-
or
-
‘CustomOrigin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘www.example.com’
-
‘HTTPPort’<~Integer> - HTTP port of origin, in [80, 443] or (1024…65535)
-
‘HTTPSPort’<~Integer> - HTTPS port of origin, in [80, 443] or (1024…65535)
-
‘OriginProtocolPolicy’<~String> - Policy on using http vs https, in [‘http-only’, ‘match-viewer’]
-
OPTIONAL:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘Comment’<~String> - Optional comment about distribution
-
‘CNAME’<~Array> - Optional array of strings to set as CNAMEs
-
‘DefaultRootObject’<~String> - Optional default object to return for ‘/’
-
‘Enabled’<~Boolean> - Whether or not distribution should accept requests, defaults to true
-
‘Logging’<~Hash>: Optional logging config
-
‘Bucket’<~String> - Bucket to store logs in, ie ‘mylogs.s3.amazonaws.com’
-
‘Prefix’<~String> - Optional prefix for log filenames, ie ‘myprefix/’
-
-
‘OriginAccessIdentity’<~String> - Used for serving private content, in format ‘origin-access-identity/cloudfront/ID’
-
‘RequiredProtocols’<~String> - Optional, set to ‘https’ to force https connections
-
‘TrustedSigners’<~Array> - Optional grant of rights to up to 5 aws accounts to generate signed URLs for private content, elements are either ‘Self’ for your own account or an AWS Account Number
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘DomainName’<~String>: Domain name of distribution
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Status’<~String> - Status of distribution
-
‘DistributionConfig’<~Array>:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘CNAME’<~Array> - array of associated cnames
-
‘Comment’<~String> - comment associated with distribution
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘Logging’<~Hash>:
-
‘Bucket’<~String> - bucket logs are stored in
-
‘Prefix’<~String> - prefix logs are stored with
-
-
‘Origin’<~String> - s3 origin bucket
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/CreateDistribution.html
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/fog/aws/requests/cdn/put_distribution_config.rb', line 57 def put_distribution_config(distribution_id, etag, = {}) data = '<?xml version="1.0" encoding="UTF-8"?>' data << "<DistributionConfig xmlns=\"http://cloudfront.amazonaws.com/doc/#{@version}/\">" for key, value in case value when Array for item in value data << "<#{key}>#{item}</#{key}>" end when Hash data << "<#{key}>" for inner_key, inner_value in value data << "<#{inner_key}>#{inner_value}</#{inner_key}>" end data << "</#{key}>" else data << "<#{key}>#{value}</#{key}>" end end data << "</DistributionConfig>" request({ :body => data, :expects => 200, :headers => { 'Content-Type' => 'text/xml', 'If-Match' => etag }, :idempotent => true, :method => 'PUT', :parser => Fog::Parsers::CDN::AWS::Distribution.new, :path => "/distribution/#{distribution_id}/config" }) end |
#put_streaming_distribution_config(distribution_id, etag, options = {}) ⇒ Object
update a streaming distribution in CloudFront
Parameters
-
distribution_id<~String> - Id of distribution to update config for
-
options<~Hash> - config for distribution. Defaults to {}. REQUIRED:
-
‘S3Origin’<~Hash>:
-
‘DNSName’<~String> - origin to associate with distribution, ie ‘mybucket.s3.amazonaws.com’
-
OPTIONAL:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘Comment’<~String> - Optional comment about distribution
-
‘CNAME’<~Array> - Optional array of strings to set as CNAMEs
-
‘Enabled’<~Boolean> - Whether or not distribution should accept requests, defaults to true
-
‘Logging’<~Hash>: Optional logging config
-
‘Bucket’<~String> - Bucket to store logs in, ie ‘mylogs.s3.amazonaws.com’
-
‘Prefix’<~String> - Optional prefix for log filenames, ie ‘myprefix/’
-
-
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘DomainName’<~String>: Domain name of distribution
-
‘Id’<~String> - Id of distribution
-
‘LastModifiedTime’<~String> - Timestamp of last modification of distribution
-
‘Status’<~String> - Status of distribution
-
‘StreamingDistributionConfig’<~Array>:
-
‘CallerReference’<~String> - Used to prevent replay, defaults to Time.now.to_i.to_s
-
‘CNAME’<~Array> - array of associated cnames
-
‘Comment’<~String> - comment associated with distribution
-
‘Enabled’<~Boolean> - whether or not distribution is enabled
-
‘Logging’<~Hash>:
-
‘Bucket’<~String> - bucket logs are stored in
-
‘Prefix’<~String> - prefix logs are stored with
-
-
‘Origin’<~String> - s3 origin bucket
-
‘TrustedSigners’<~Array> - trusted signers
-
-
-
See Also
docs.amazonwebservices.com/AmazonCloudFront/latest/APIReference/PutStreamingDistribution.html
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb', line 46 def put_streaming_distribution_config(distribution_id, etag, = {}) data = '<?xml version="1.0" encoding="UTF-8"?>' data << "<StreamingDistributionConfig xmlns=\"http://cloudfront.amazonaws.com/doc/#{@version}/\">" for key, value in case value when Array for item in value data << "<#{key}>#{item}</#{key}>" end when Hash data << "<#{key}>" for inner_key, inner_value in value data << "<#{inner_key}>#{inner_value}</#{inner_key}>" end data << "</#{key}>" else data << "<#{key}>#{value}</#{key}>" end end data << "</StreamingDistributionConfig>" request({ :body => data, :expects => 200, :headers => { 'Content-Type' => 'text/xml', 'If-Match' => etag }, :idempotent => true, :method => 'PUT', :parser => Fog::Parsers::CDN::AWS::StreamingDistribution.new, :path => "/streaming-distribution/#{distribution_id}/config" }) end |
#reload ⇒ Object
102 103 104 |
# File 'lib/fog/aws/cdn.rb', line 102 def reload @connection.reset end |