Imported Upstream version 3.3.3
[debian/amanda] / perl / Amanda / Cmdline.pod
1 /*
2  * Copyright (c) 2009-2012 Zmanda, Inc.  All Rights Reserved.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17  *
18  * Contact information: Zmanda Inc., 465 S. Mathilda Ave., Suite 300
19  * Sunnyvale, CA 94085, USA, or: http://www.zmanda.com
20  */
21
22 %perlcode %{
23
24 =head1 NAME
25
26 Amanda::Cmdline - utilities for handling command lines
27
28 =head1 SYNOPSIS
29
30   use Amanda::Cmdline;
31
32   my $spec = Amanda::Cmdline::dumpspec_t->new($host, $disk, $datestamp, $level, $write_timestamp);
33   print "host: $spec->{'host'}; disk: $spec->{'disk'}\n";
34
35   my @specs = Amanda::Cmdline::parse_dumpspecs(["host", "disk", "date"],
36                             $Amanda::Cmdline::CMDLINE_PARSE_DATESTAMP);
37
38 =head1 Amanda::Cmdline::dumpspec_t Objects
39
40 Note that this class was called C<Amanda::Cmdline::dumpspec_t> in older versions;
41 that name will still work, but is deprecated.
42
43 =head2 Keys
44
45 Each key contains a match expression, in the form of a string, or undef.  Note
46 that the values of these keys are read-only.
47
48 =over
49
50 =item C<< $ds->{'host'} >>
51
52 Hostname
53
54 =item C<< $ds->{'disk'} >>
55
56 Disk name
57
58 =item C<< $ds->{'datestamp'} >>
59
60 Dump timestamp.
61
62 =item C<< $ds->{'level'} >>
63
64 Dump level
65
66 =item C<< $ds->{'write_timestamp'} >>
67
68 Timestamp when the dump is written to storage media.
69
70 =back
71
72 =head2 Methods
73
74 =over
75
76 =item C<< $ds->format() >>
77
78 Format the dumpspec as a string.
79
80 =back
81
82 =head1 Package Functions
83
84 =over
85
86 =item C<format_dumpspec_components($host, $disk, $datestamp, $level)>
87
88 This function returns a string representing the formatted form of the
89 given dumpspec.  This formatting is the same as performed by
90 C<< $ds->format() >>, but does not need a C<Dumpspec>.
91
92 =item C<parse_dumpspecs([@cmdline], $flags)>
93
94 This function parses C<@cmdline> into a list of C<Dumpspec> objects,
95 according to C<$flags>, which is a logical combination of zero or more
96 of
97
98  $CMDLINE_PARSE_DATESTAMP - recognize datestamps
99  $CMDLINE_PARSE_LEVEL - recognize levels
100  $CMDLINE_EMPTY_TO_WILDCARD - if @cmdline is empty, make a wildcard dumpspec
101
102 These constants are available in export tag C<:constants>.  The command-line
103 format is
104
105   [host [disk [datestamp [level [host [..]]]]]]
106
107 Note that there is no facility for specifying C<write_timestamp> on the command
108 line.
109
110 =item C<header_matches_dumpspecs($hdr, [@dumpspecs])>
111
112 This function compares a header to a list of dumpspecs, returning true if the
113 header matches at least one dumpspec.  If C<@dumpspecs> is empty, the function
114 returns false.
115
116 =back
117
118 =head1 SEE ALSO
119
120 L<Amanda::Config> handles C<-o> options itself, through
121 C<config_overrides>.
122
123 =cut
124
125
126 %}