File Coverage

blib/lib/XML/SRS/Domain/Create.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::Create;
2             BEGIN {
3 1     1   6269 $XML::SRS::Domain::Create::VERSION = '0.09';
4             }
5              
6 1     1   567 use Moose;
  0            
  0            
7             use PRANG::Graph;
8             use XML::SRS::Types;
9             use XML::SRS::Server::List;
10             use XML::SRS::DS::List;
11              
12             has_attr 'domain_name' =>
13             is => "ro",
14             isa => "XML::SRS::DomainName",
15             xml_name => "DomainName",
16             required => 1,
17             ;
18              
19             has_attr 'domain_name_unicode' =>
20             is => "ro",
21             isa => "Str",
22             xml_name => "DomainNameUnicode",
23             ;
24              
25             has_attr 'registrant_ref' =>
26             is => "ro",
27             isa => "XML::SRS::UID",
28             xml_name => "RegistrantRef",
29             xml_required => 0,
30             ;
31              
32             has_attr 'term' =>
33             is => "ro",
34             isa => "XML::SRS::Term",
35             xml_name => "Term",
36             required => 1,
37             ;
38              
39             has_attr 'delegate' =>
40             is => "ro",
41             isa => "XML::SRS::Boolean",
42             xml_name => "Delegate",
43             xml_required => 0,
44             ;
45              
46             has_element 'contact_registrant' =>
47             is => "ro",
48             isa => "XML::SRS::Contact",
49             xml_nodeName => "RegistrantContact",
50             required => 1,
51             coerce => 1,
52             ;
53              
54             has_element 'contact_admin' =>
55             is => "ro",
56             isa => "XML::SRS::Contact",
57             xml_nodeName => "AdminContact",
58             xml_required => 0,
59             coerce => 1,
60             ;
61              
62             has_element 'contact_technical' =>
63             is => "ro",
64             isa => "XML::SRS::Contact",
65             xml_nodeName => "TechnicalContact",
66             xml_required => 0,
67             coerce => 1,
68             ;
69              
70             has_element "nameservers" =>
71             is => "rw",
72             isa => "XML::SRS::Server::List",
73             xml_nodeName => "NameServers",
74             xml_required => 0,
75             coerce => 1,
76             ;
77            
78             has_element "dns_sec" =>
79             is => "rw",
80             isa => "XML::SRS::DS::List",
81             xml_nodeName => "DNSSEC",
82             xml_required => 0,
83             coerce => 1,
84             ;
85              
86             with 'XML::SRS::Audit';
87              
88             sub root_element {'DomainCreate'}
89             with 'XML::SRS::Action';
90              
91             1;
92              
93             __END__
94              
95             =head1 NAME
96              
97             XML::SRS::Domain::Create - Class representing an SRS DomainCreate transaction
98              
99             =head1 SYNOPSIS
100              
101             my $create = XML::SRS::DomainCreate->new(
102             domain_name => 'foo.co.nz',
103             term => 1,
104             action_id => "1234",
105             contact_registrant => {
106             name => "Joe Bloggs",
107             email => "blah@foo.co.nz",
108             phone => {
109             subscriber => "444 4444",
110             ndc => 4,
111             cc => 64,
112             },
113             address => {
114             address1 => "555 My Street",
115             address2 => "Burbsville",
116             city => "Lala Land",
117             postcode => "12345",
118             cc => "NZ",
119             },
120             },
121             nameservers => [
122             {
123             fqdn => "ns1.foo.net.nz",
124             ipv6_addr => "2404:130:0:10::34:0",
125             ipv4_addr => "202.78.240.34",
126             },
127             {
128             fqdn => "ns2.foo.net.nz",
129             ipv6_addr => "2404:130:2000:1::1",
130             ipv4_addr => "202.78.244.33",
131             },
132             ],
133             dns_sec => [
134             {
135             algorithm => 5,
136             key_tag => 555,
137             digest => "3FC2FB591B6089F454B90A529C760E3F92F28399",
138             digest_type => 1,
139             },
140             {
141             algorithm => 5,
142             key_tag => 444,
143             digest => "3A54F693DA1D3FC6073B3D065FEDFAC000610CE83C7D2A084DF883E0B308DCA6",
144             digest_type => 2,
145             }
146             ],
147             );
148              
149             =head1 DESCRIPTION
150              
151             This class represents an SRS DomainCreate request. The root XML element of this
152             class is 'DomainCreate'.
153              
154             =head1 ATTRIBUTES
155              
156             Each attribute of this class has an accessor/mutator of the same name as
157             the attribute. Additionally, they can be passed as parameters to the
158             constructor.
159              
160             =head2 domain_name
161              
162             Required. Must be of type XML::SRS::DomainName. Maps to the XML attribute 'DomainName'
163              
164             =head2 domain_name_unicode
165              
166             Must be of type XML::SRS::DomainName. Maps to the XML attribute 'DomainNameUnicode'
167              
168             =head2 action_id
169              
170             Required. Must be of type XML::SRS::UID. Maps to the XML attribute 'ActionId'
171              
172             =head2 contact_admin
173              
174             Must be of type XML::SRS::Contact. Maps to the XML element 'AdminContact'
175              
176             =head2 contact_technical
177              
178             Must be of type XML::SRS::Contact. Maps to the XML element 'TechnicalContact'
179              
180             =head2 contact_registrant
181              
182             Required. Must be of type XML::SRS::Contact. Maps to the XML element 'RegistrantContact'
183              
184             =head2 dns_sec
185              
186             Must be of type XML::SRS::DS::List. Maps to the XML element 'DNSSEC'
187              
188             =head2 nameservers
189              
190             Must be of type XML::SRS::Server::List. Maps to the XML element 'NameServers'
191              
192             =head2 term
193              
194             Required. Must be of type XML::SRS::Term. Maps to the XML attribute 'Term'
195              
196             =head2 audit
197              
198             Must be of type Str. Maps to the XML element 'AuditText'
199              
200             =head2 delegate
201              
202             Must be of type XML::SRS::Boolean. Maps to the XML attribute 'Delegate'
203              
204             =head2 registrant_ref
205              
206             Must be of type XML::SRS::UID. Maps to the XML attribute 'RegistrantRef'
207              
208             =head1 METHODS
209              
210             =head2 new(%params)
211              
212             Construct a new XML::SRS::Request object. %params specifies the initial
213             values of the attributes.
214              
215             =head1 COMPOSED OF
216              
217             L<XML::SRS::Action>