File Coverage

blib/lib/Paws/ElasticTranscoder/Encryption.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::ElasticTranscoder::Encryption;
2 1     1   516 use Moose;
  1         3  
  1         9  
3             has InitializationVector => (is => 'ro', isa => 'Str');
4             has Key => (is => 'ro', isa => 'Str');
5             has KeyMd5 => (is => 'ro', isa => 'Str');
6             has Mode => (is => 'ro', isa => 'Str');
7             1;
8              
9             ### main pod documentation begin ###
10              
11             =head1 NAME
12              
13             Paws::ElasticTranscoder::Encryption
14              
15             =head1 USAGE
16              
17             This class represents one of two things:
18              
19             =head3 Arguments in a call to a service
20              
21             Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
22             Each attribute should be used as a named argument in the calls that expect this type of object.
23              
24             As an example, if Att1 is expected to be a Paws::ElasticTranscoder::Encryption object:
25              
26             $service_obj->Method(Att1 => { InitializationVector => $value, ..., Mode => $value });
27              
28             =head3 Results returned from an API call
29              
30             Use accessors for each attribute. If Att1 is expected to be an Paws::ElasticTranscoder::Encryption object:
31              
32             $result = $service_obj->Method(...);
33             $result->Att1->InitializationVector
34              
35             =head1 DESCRIPTION
36              
37             The encryption settings, if any, that are used for decrypting your
38             input files or encrypting your output files. If your input file is
39             encrypted, you must specify the mode that Elastic Transcoder uses to
40             decrypt your file, otherwise you must specify the mode you want Elastic
41             Transcoder to use to encrypt your output files.
42              
43             =head1 ATTRIBUTES
44              
45              
46             =head2 InitializationVector => Str
47              
48             The series of random bits created by a random bit generator, unique for
49             every encryption operation, that you used to encrypt your input files
50             or that you want Elastic Transcoder to use to encrypt your output
51             files. The initialization vector must be base64-encoded, and it must be
52             exactly 16 bytes long before being base64-encoded.
53              
54              
55             =head2 Key => Str
56              
57             The data encryption key that you want Elastic Transcoder to use to
58             encrypt your output file, or that was used to encrypt your input file.
59             The key must be base64-encoded and it must be one of the following bit
60             lengths before being base64-encoded:
61              
62             C<128>, C<192>, or C<256>.
63              
64             The key must also be encrypted by using the Amazon Key Management
65             Service.
66              
67              
68             =head2 KeyMd5 => Str
69              
70             The MD5 digest of the key that you used to encrypt your input file, or
71             that you want Elastic Transcoder to use to encrypt your output file.
72             Elastic Transcoder uses the key digest as a checksum to make sure your
73             key was not corrupted in transit. The key MD5 must be base64-encoded,
74             and it must be exactly 16 bytes long before being base64-encoded.
75              
76              
77             =head2 Mode => Str
78              
79             The specific server-side encryption mode that you want Elastic
80             Transcoder to use when decrypting your input files or encrypting your
81             output files. Elastic Transcoder supports the following options:
82              
83             =over
84              
85             =item *
86              
87             B<S3:> Amazon S3 creates and manages the keys used for encrypting your
88             files.
89              
90             =item *
91              
92             B<S3-AWS-KMS:> Amazon S3 calls the Amazon Key Management Service, which
93             creates and manages the keys that are used for encrypting your files.
94             If you specify C<S3-AWS-KMS> and you don't want to use the default key,
95             you must add the AWS-KMS key that you want to use to your pipeline.
96              
97             =item *
98              
99             B<AES-CBC-PKCS7:> A padded cipher-block mode of operation originally
100             used for HLS files.
101              
102             =item *
103              
104             B<AES-CTR:> AES Counter Mode.
105              
106             =item *
107              
108             B<AES-GCM:> AES Galois Counter Mode, a mode of operation that is an
109             authenticated encryption format, meaning that a file, key, or
110             initialization vector that has been tampered with fails the decryption
111             process.
112              
113             =back
114              
115             For all three AES options, you must provide the following settings,
116             which must be base64-encoded:
117              
118             =over
119              
120             =item *
121              
122             B<Key>
123              
124             =item *
125              
126             B<Key MD5>
127              
128             =item *
129              
130             B<Initialization Vector>
131              
132             =back
133              
134             For the AES modes, your private encryption keys and your unencrypted
135             data are never stored by AWS; therefore, it is important that you
136             safely manage your encryption keys. If you lose them, you won't be able
137             to unencrypt your data.
138              
139              
140              
141             =head1 SEE ALSO
142              
143             This class forms part of L<Paws>, describing an object used in L<Paws::ElasticTranscoder>
144              
145             =head1 BUGS and CONTRIBUTIONS
146              
147             The source code is located here: https://github.com/pplu/aws-sdk-perl
148              
149             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
150              
151             =cut
152