package Paws::Datasync::CreateLocationObjectStorage;
use Moose;
has AccessKey => (is => 'ro', isa => 'Str');
has AgentArns => (is => 'ro', isa => 'ArrayRef[Str|Undef]', required => 1);
has BucketName => (is => 'ro', isa => 'Str', required => 1);
has SecretKey => (is => 'ro', isa => 'Str');
has ServerHostname => (is => 'ro', isa => 'Str', required => 1);
has ServerPort => (is => 'ro', isa => 'Int');
has ServerProtocol => (is => 'ro', isa => 'Str');
has Subdirectory => (is => 'ro', isa => 'Str');
has Tags => (is => 'ro', isa => 'ArrayRef[Paws::Datasync::TagListEntry]');
use MooseX::ClassAttribute;
class_has _api_call => (isa => 'Str', is => 'ro', default => 'CreateLocationObjectStorage');
class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::Datasync::CreateLocationObjectStorageResponse');
class_has _result_key => (isa => 'Str', is => 'ro');
1;
### main pod documentation begin ###
=head1 NAME
Paws::Datasync::CreateLocationObjectStorage - Arguments for method CreateLocationObjectStorage on L<Paws::Datasync>
=head1 DESCRIPTION
This class represents the parameters used for calling the method CreateLocationObjectStorage on the
L<AWS DataSync|Paws::Datasync> service. Use the attributes of this class
as arguments to method CreateLocationObjectStorage.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateLocationObjectStorage.
=head1 SYNOPSIS
my $datasync = Paws->service('Datasync');
my $CreateLocationObjectStorageResponse =
$datasync->CreateLocationObjectStorage(
AgentArns => [
'MyAgentArn', ... # max: 128
],
BucketName => 'MyObjectStorageBucketName',
ServerHostname => 'MyServerHostname',
AccessKey => 'MyObjectStorageAccessKey', # OPTIONAL
SecretKey => 'MyObjectStorageSecretKey', # OPTIONAL
ServerPort => 1, # OPTIONAL
ServerProtocol => 'HTTPS', # OPTIONAL
Subdirectory => 'MyS3Subdirectory', # OPTIONAL
Tags => [
{
Key => 'MyTagKey', # min: 1, max: 256
Value => 'MyTagValue', # min: 1, max: 256; OPTIONAL
},
...
], # OPTIONAL
);
# Results:
my $LocationArn = $CreateLocationObjectStorageResponse->LocationArn;
# Returns a L<Paws::Datasync::CreateLocationObjectStorageResponse> 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<https://docs.aws.amazon.com/goto/WebAPI/datasync/CreateLocationObjectStorage>
=head1 ATTRIBUTES
=head2 AccessKey => Str
Optional. The access key is used if credentials are required to access
the self-managed object storage server. If your object storage requires
a user name and password to authenticate, use C<AccessKey> and
C<SecretKey> to provide the user name and password, respectively.
=head2 B<REQUIRED> AgentArns => ArrayRef[Str|Undef]
The Amazon Resource Name (ARN) of the agents associated with the
self-managed object storage server location.
=head2 B<REQUIRED> BucketName => Str
The bucket on the self-managed object storage server that is used to
read data from.
=head2 SecretKey => Str
Optional. The secret key is used if credentials are required to access
the self-managed object storage server. If your object storage requires
a user name and password to authenticate, use C<AccessKey> and
C<SecretKey> to provide the user name and password, respectively.
=head2 B<REQUIRED> ServerHostname => Str
The name of the self-managed object storage server. This value is the
IP address or Domain Name Service (DNS) name of the object storage
server. An agent uses this host name to mount the object storage server
in a network.
=head2 ServerPort => Int
The port that your self-managed object storage server accepts inbound
network traffic on. The server port is set by default to TCP 80 (HTTP)
or TCP 443 (HTTPS). You can specify a custom port if your self-managed
object storage server requires one.
=head2 ServerProtocol => Str
The protocol that the object storage server uses to communicate. Valid
values are HTTP or HTTPS.
Valid values are: C<"HTTPS">, C<"HTTP">
=head2 Subdirectory => Str
The subdirectory in the self-managed object storage server that is used
to read data from.
=head2 Tags => ArrayRef[L<Paws::Datasync::TagListEntry>]
The key-value pair that represents the tag that you want to add to the
location. The value can be an empty string. We recommend using tags to
name your resources.
=head1 SEE ALSO
This class forms part of L<Paws>, documenting arguments for method CreateLocationObjectStorage in L<Paws::Datasync>
=head1 BUGS and CONTRIBUTIONS
The source code is located here: L<https://github.com/pplu/aws-sdk-perl>
Please report bugs to: L<https://github.com/pplu/aws-sdk-perl/issues>
=cut