package Paws::DS::CreateDirectory;
  use Moose;
  has Description => (is => 'ro', isa => 'Str');
  has Name => (is => 'ro', isa => 'Str', required => 1);
  has Password => (is => 'ro', isa => 'Str', required => 1);
  has ShortName => (is => 'ro', isa => 'Str');
  has Size => (is => 'ro', isa => 'Str', required => 1);
  has Tags => (is => 'ro', isa => 'ArrayRef[Paws::DS::Tag]');
  has VpcSettings => (is => 'ro', isa => 'Paws::DS::DirectoryVpcSettings');

  use MooseX::ClassAttribute;

  class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateDirectory');
  class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::DS::CreateDirectoryResult');
  class_has _result_key => (isa => 'Str', is => 'ro');

### main pod documentation begin ###

=head1 NAME

Paws::DS::CreateDirectory - Arguments for method CreateDirectory on L<Paws::DS>


This class represents the parameters used for calling the method CreateDirectory on the
L<AWS Directory Service|Paws::DS> service. Use the attributes of this class
as arguments to method CreateDirectory.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateDirectory.


    my $ds = Paws->service('DS');
    my $CreateDirectoryResult = $ds->CreateDirectory(
      Name        => 'MyDirectoryName',
      Password    => 'MyPassword',
      Size        => 'Small',
      Description => 'MyDescription',           # OPTIONAL
      ShortName   => 'MyDirectoryShortName',    # OPTIONAL
      Tags        => [
          Key   => 'MyTagKey',                  # min: 1, max: 128
          Value => 'MyTagValue',                # max: 256

      ],                                        # OPTIONAL
      VpcSettings => {
        SubnetIds => [ 'MySubnetId', ... ],
        VpcId     => 'MyVpcId',

      },                                        # OPTIONAL

    # Results:
    my $DirectoryId = $CreateDirectoryResult->DirectoryId;

    # Returns a L<Paws::DS::CreateDirectoryResult> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
For the AWS API documentation, see L<>


=head2 Description => Str

A textual description for the directory.

=head2 B<REQUIRED> Name => Str

The fully qualified name for the directory, such as

=head2 B<REQUIRED> Password => Str

The password for the directory administrator. The directory creation
process creates a directory administrator account with the user name
C<Administrator> and this password.

=head2 ShortName => Str

The short name of the directory, such as C<CORP>.

=head2 B<REQUIRED> Size => Str

The size of the directory.

Valid values are: C<"Small">, C<"Large">

=head2 Tags => ArrayRef[L<Paws::DS::Tag>]

The tags to be assigned to the Simple AD directory.

=head2 VpcSettings => L<Paws::DS::DirectoryVpcSettings>

A DirectoryVpcSettings object that contains additional information for
the operation.

=head1 SEE ALSO

This class forms part of L<Paws>, documenting arguments for method CreateDirectory in L<Paws::DS>


The source code is located here: L<>

Please report bugs to: L<>