File Coverage

blib/lib/XML/SRS/Domain/Update.pm
Criterion Covered Total %
statement 2 4 50.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 4 6 66.6


line stmt bran cond sub pod time code
1             package XML::SRS::Domain::Update;
2             BEGIN {
3 1     1   2231 $XML::SRS::Domain::Update::VERSION = '0.09';
4             }
5              
6 1     1   466 use Moose;
  0            
  0            
7             use PRANG::Graph;
8             use PRANG::XMLSchema::Types;
9             use XML::SRS::Types;
10             use Moose::Util::TypeConstraints;
11             use PRANG::Coerce;
12             use XML::SRS::Server::List;
13             use XML::SRS::DS::List;
14             use MooseX::Aliases;
15             use MooseX::Aliases::Meta::Trait::Attribute;
16              
17              
18             # attributes
19             has_attr 'udai' =>
20             is => 'ro',
21             isa => 'XML::SRS::UDAI',
22             xml_name => 'UDAI',
23             xml_required => 0;
24              
25             has_attr 'new_udai' =>
26             is => 'rw',
27             isa => 'XML::SRS::Boolean',
28             xml_name => 'NewUDAI',
29             xml_required => 0;
30              
31             has_attr 'registrant_ref' =>
32             is => 'ro',
33             isa => 'XML::SRS::UID',
34             xml_name => 'RegistrantRef',
35             xml_required => 0,
36             ;
37              
38             has_attr 'term' =>
39             is => 'ro',
40             isa => 'XML::SRS::Term',
41             xml_name => 'Term',
42             xml_required => 0,
43             ;
44              
45             has_attr 'delegate' =>
46             is => 'rw',
47             isa => 'XML::SRS::Boolean',
48             xml_name => 'Delegate',
49             xml_required => 0,
50             ;
51              
52             has_attr 'renew' =>
53             is => 'ro',
54             isa => 'XML::SRS::Boolean',
55             xml_name => 'Renew',
56             xml_required => 0,
57             ;
58              
59             has_attr 'no_auto_renew' =>
60             is => 'ro',
61             isa => 'XML::SRS::Boolean',
62             xml_name => 'NoAutoRenew',
63             xml_required => 0,
64             ;
65              
66             has_attr 'lock' =>
67             is => 'ro',
68             isa => 'XML::SRS::Boolean',
69             xml_name => 'Lock',
70             xml_required => 0,
71             ;
72              
73             has_attr 'cancel' =>
74             is => 'ro',
75             isa => 'XML::SRS::Boolean',
76             xml_name => 'Cancel',
77             xml_required => 0,
78             ;
79              
80             has_attr 'release' =>
81             is => 'ro',
82             isa => 'XML::SRS::Boolean',
83             xml_name => 'Release',
84             xml_required => 0,
85             ;
86              
87             has_attr 'full_result' =>
88             is => 'ro',
89             isa => 'XML::SRS::Boolean',
90             xml_name => 'FullResult',
91             xml_required => 0,
92             ;
93              
94             has_attr 'convert_contacts_to_handles' =>
95             is => 'ro',
96             isa => 'XML::SRS::Boolean',
97             xml_name => 'ConvertContactsToHandles',
98             xml_required => 0,
99             ;
100              
101             # elements
102             has_element 'domain_name_filter' =>
103             is => 'ro',
104             isa => 'PRANG::Coerce::ArrayRefOfStrs',
105             xml_nodeName => 'DomainNameFilter',
106             xml_required => 1,
107             coerce => 1,
108             traits => [qw(Aliased)],
109             alias => 'filter',
110             ;
111              
112             has_element 'contact_registrant' =>
113             is => 'ro',
114             isa => 'XML::SRS::Contact',
115             xml_nodeName => 'RegistrantContact',
116             xml_required => 0,
117             coerce => 1,
118             ;
119              
120             has_element 'contact_admin' =>
121             is => 'ro',
122             isa => 'XML::SRS::Contact',
123             xml_nodeName => 'AdminContact',
124             xml_required => 0,
125             coerce => 1,
126             ;
127              
128             has_element 'contact_technical' =>
129             is => 'ro',
130             isa => 'XML::SRS::Contact',
131             xml_nodeName => 'TechnicalContact',
132             xml_required => 0,
133             coerce => 1,
134             ;
135              
136             has_element 'nameservers' =>
137             is => 'ro',
138             isa => 'XML::SRS::Server::List',
139             xml_nodeName => 'NameServers',
140             xml_required => 0,
141             coerce => 1,
142             ;
143              
144             has_element "dns_sec" =>
145             is => "rw",
146             isa => "XML::SRS::DS::List",
147             xml_nodeName => "DNSSEC",
148             xml_required => 0,
149             coerce => 1,
150             ;
151              
152             with 'XML::SRS::Audit';
153              
154             sub root_element {'DomainUpdate'}
155             with 'XML::SRS::Action';
156              
157             1;
158              
159             __END__
160              
161             =head1 NAME
162              
163             XML::SRS::Domain::Update - Class representing an SRS DomainUpdate transaction
164              
165             =head1 SYNOPSIS
166              
167             my $update = XML::SRS::DomainUpdate->new(
168             domain_name_filter => 'foo.co.nz',
169             term => 1,
170             action_id => "1234",
171             contact_registrant => {
172             name => "Joe Bloggs",
173             email => "blah@foo.co.nz",
174             phone => {
175             subscriber => "444 4444",
176             ndc => 4,
177             cc => 64,
178             },
179             address => {
180             address1 => "555 My Street",
181             address2 => "Burbsville",
182             city => "Lala Land",
183             postcode => "12345",
184             cc => "NZ",
185             },
186             },
187             nameservers => [
188             {
189             fqdn => "ns1.foo.net.nz",
190             ipv6_addr => "2404:130:0:10::34:0",
191             ipv4_addr => "202.78.240.34",
192             },
193             {
194             fqdn => "ns2.foo.net.nz",
195             ipv6_addr => "2404:130:2000:1::1",
196             ipv4_addr => "202.78.244.33",
197             },
198             ],
199             dns_sec => [
200             {
201             algorithm => 5,
202             key_tag => 555,
203             digest => "3FC2FB591B6089F454B90A529C760E3F92F28399",
204             digest_type => 1,
205             },
206             {
207             algorithm => 5,
208             key_tag => 444,
209             digest => "3A54F693DA1D3FC6073B3D065FEDFAC000610CE83C7D2A084DF883E0B308DCA6",
210             digest_type => 2,
211             }
212             ],
213             );
214              
215             =head1 DESCRIPTION
216              
217             This class represents an SRS DomainUpdate request. The root XML element of this
218             class is 'DomainUpdate'.
219              
220             =head1 ATTRIBUTES
221              
222             Each attribute of this class has an accessor/mutator of the same name as
223             the attribute. Additionally, they can be passed as parameters to the
224             constructor.
225              
226             =head2 contact_technical
227              
228             Must be of type XML::SRS::Contact. Maps to the XML element 'TechnicalContact'
229              
230             =head2 no_auto_renew
231              
232             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'NoAutoRenew'
233              
234             =head2 dns_sec
235              
236             Must be of type XML::SRS::DS::List. Maps to the XML element 'DNSSEC'
237              
238             =head2 lock
239              
240             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'Lock'
241              
242             =head2 new_udai
243              
244             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'NewUDAI'
245              
246             =head2 renew
247              
248             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'Renew'
249              
250             =head2 term
251              
252             Must be of type XML::SRS::Term. Maps to the XML attribute 'Term'
253              
254             =head2 delegate
255              
256             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'Delegate'
257              
258             =head2 registrant_ref
259              
260             Must be of type XML::SRS::UID. Maps to the XML attribute 'RegistrantRef'
261              
262             =head2 contact_admin
263              
264             Must be of type XML::SRS::Contact. Maps to the XML element 'AdminContact'
265              
266             =head2 contact_registrant
267              
268             Must be of type XML::SRS::Contact. Maps to the XML element 'RegistrantContact'
269              
270             =head2 domain_name_filter
271              
272             Must be of type ArrayRef[Str]. Maps to the XML element 'DomainNameFilter'
273              
274             =head2 action_id
275              
276             Required. Must be of type XML::SRS::UID. Maps to the XML attribute 'ActionId'
277              
278             =head2 nameservers
279              
280             Must be of type XML::SRS::Server::List. Maps to the XML element 'NameServers'
281              
282             =head2 release
283              
284             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'Release'
285              
286             =head2 full_result
287              
288             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'FullResult'
289              
290             =head2 udai
291              
292             Must be of type XML::SRS::UDAI. Maps to the XML attribute 'UDAI'
293              
294             =head2 audit
295              
296             Must be of type Str. Maps to the XML element 'AuditText'
297              
298             =head2 convert_contacts_to_handles
299              
300             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'ConvertContactsToHandles'
301              
302             =head2 cancel
303              
304             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'Cancel'
305              
306             =head1 METHODS
307              
308             =head2 new(%params)
309              
310             Construct a new XML::SRS::Request object. %params specifies the initial
311             values of the attributes.
312              
313             =head1 COMPOSED OF
314              
315             L<XML::SRS::Action>
316