File Coverage

blib/lib/Paws/CloudFront/Origin.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::CloudFront::Origin;
2 1     1   598 use Moose;
  1         2  
  1         9  
3             has CustomHeaders => (is => 'ro', isa => 'Paws::CloudFront::CustomHeaders');
4             has CustomOriginConfig => (is => 'ro', isa => 'Paws::CloudFront::CustomOriginConfig');
5             has DomainName => (is => 'ro', isa => 'Str', required => 1);
6             has Id => (is => 'ro', isa => 'Str', required => 1);
7             has OriginPath => (is => 'ro', isa => 'Str');
8             has S3OriginConfig => (is => 'ro', isa => 'Paws::CloudFront::S3OriginConfig');
9             1;
10              
11             ### main pod documentation begin ###
12              
13             =head1 NAME
14              
15             Paws::CloudFront::Origin
16              
17             =head1 USAGE
18              
19             This class represents one of two things:
20              
21             =head3 Arguments in a call to a service
22              
23             Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
24             Each attribute should be used as a named argument in the calls that expect this type of object.
25              
26             As an example, if Att1 is expected to be a Paws::CloudFront::Origin object:
27              
28             $service_obj->Method(Att1 => { CustomHeaders => $value, ..., S3OriginConfig => $value });
29              
30             =head3 Results returned from an API call
31              
32             Use accessors for each attribute. If Att1 is expected to be an Paws::CloudFront::Origin object:
33              
34             $result = $service_obj->Method(...);
35             $result->Att1->CustomHeaders
36              
37             =head1 DESCRIPTION
38              
39             A complex type that describes the Amazon S3 bucket or the HTTP server
40             (for example, a web server) from which CloudFront gets your files. You
41             must create at least one origin.
42              
43             For the current limit on the number of origins that you can create for
44             a distribution, see Amazon CloudFront Limits in the I<AWS General
45             Reference>.
46              
47             =head1 ATTRIBUTES
48              
49              
50             =head2 CustomHeaders => L<Paws::CloudFront::CustomHeaders>
51              
52             A complex type that contains names and values for the custom headers
53             that you want.
54              
55              
56             =head2 CustomOriginConfig => L<Paws::CloudFront::CustomOriginConfig>
57              
58             A complex type that contains information about a custom origin. If the
59             origin is an Amazon S3 bucket, use the C<S3OriginConfig> element
60             instead.
61              
62              
63             =head2 B<REQUIRED> DomainName => Str
64              
65             B<Amazon S3 origins>: The DNS name of the Amazon S3 bucket from which
66             you want CloudFront to get objects for this origin, for example,
67             C<myawsbucket.s3.amazonaws.com>.
68              
69             Constraints for Amazon S3 origins:
70              
71             =over
72              
73             =item *
74              
75             If you configured Amazon S3 Transfer Acceleration for your bucket, do
76             not specify the C<s3-accelerate> endpoint for C<DomainName>.
77              
78             =item *
79              
80             The bucket name must be between 3 and 63 characters long (inclusive).
81              
82             =item *
83              
84             The bucket name must contain only lowercase characters, numbers,
85             periods, underscores, and dashes.
86              
87             =item *
88              
89             The bucket name must not contain adjacent periods.
90              
91             =back
92              
93             B<Custom Origins>: The DNS domain name for the HTTP server from which
94             you want CloudFront to get objects for this origin, for example,
95             C<www.example.com>.
96              
97             Constraints for custom origins:
98              
99             =over
100              
101             =item *
102              
103             C<DomainName> must be a valid DNS name that contains only a-z, A-Z,
104             0-9, dot (.), hyphen (-), or underscore (_) characters.
105              
106             =item *
107              
108             The name cannot exceed 128 characters.
109              
110             =back
111              
112              
113              
114             =head2 B<REQUIRED> Id => Str
115              
116             A unique identifier for the origin. The value of C<Id> must be unique
117             within the distribution.
118              
119             When you specify the value of C<TargetOriginId> for the default cache
120             behavior or for another cache behavior, you indicate the origin to
121             which you want the cache behavior to route requests by specifying the
122             value of the C<Id> element for that origin. When a request matches the
123             path pattern for that cache behavior, CloudFront routes the request to
124             the specified origin. For more information, see Cache Behavior Settings
125             in the I<Amazon CloudFront Developer Guide>.
126              
127              
128             =head2 OriginPath => Str
129              
130             An optional element that causes CloudFront to request your content from
131             a directory in your Amazon S3 bucket or your custom origin. When you
132             include the C<OriginPath> element, specify the directory name,
133             beginning with a C</>. CloudFront appends the directory name to the
134             value of C<DomainName>, for example, C<example.com/production>. Do not
135             include a C</> at the end of the directory name.
136              
137             For example, suppose you've specified the following values for your
138             distribution:
139              
140             =over
141              
142             =item *
143              
144             C<DomainName>: An Amazon S3 bucket named C<myawsbucket>.
145              
146             =item *
147              
148             C<OriginPath>: C</production>
149              
150             =item *
151              
152             C<CNAME>: C<example.com>
153              
154             =back
155              
156             When a user enters C<example.com/index.html> in a browser, CloudFront
157             sends a request to Amazon S3 for C<myawsbucket/production/index.html>.
158              
159             When a user enters C<example.com/acme/index.html> in a browser,
160             CloudFront sends a request to Amazon S3 for
161             C<myawsbucket/production/acme/index.html>.
162              
163              
164             =head2 S3OriginConfig => L<Paws::CloudFront::S3OriginConfig>
165              
166             A complex type that contains information about the Amazon S3 origin. If
167             the origin is a custom origin, use the C<CustomOriginConfig> element
168             instead.
169              
170              
171              
172             =head1 SEE ALSO
173              
174             This class forms part of L<Paws>, describing an object used in L<Paws::CloudFront>
175              
176             =head1 BUGS and CONTRIBUTIONS
177              
178             The source code is located here: https://github.com/pplu/aws-sdk-perl
179              
180             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
181              
182             =cut
183