# Generated by default/object.tt
package Paws::DMS::Endpoint;
  use Moose;
  has CertificateArn => (is => 'ro', isa => 'Str');
  has DatabaseName => (is => 'ro', isa => 'Str');
  has DmsTransferSettings => (is => 'ro', isa => 'Paws::DMS::DmsTransferSettings');
  has DocDbSettings => (is => 'ro', isa => 'Paws::DMS::DocDbSettings');
  has DynamoDbSettings => (is => 'ro', isa => 'Paws::DMS::DynamoDbSettings');
  has ElasticsearchSettings => (is => 'ro', isa => 'Paws::DMS::ElasticsearchSettings');
  has EndpointArn => (is => 'ro', isa => 'Str');
  has EndpointIdentifier => (is => 'ro', isa => 'Str');
  has EndpointType => (is => 'ro', isa => 'Str');
  has EngineDisplayName => (is => 'ro', isa => 'Str');
  has EngineName => (is => 'ro', isa => 'Str');
  has ExternalId => (is => 'ro', isa => 'Str');
  has ExternalTableDefinition => (is => 'ro', isa => 'Str');
  has ExtraConnectionAttributes => (is => 'ro', isa => 'Str');
  has IBMDb2Settings => (is => 'ro', isa => 'Paws::DMS::IBMDb2Settings');
  has KafkaSettings => (is => 'ro', isa => 'Paws::DMS::KafkaSettings');
  has KinesisSettings => (is => 'ro', isa => 'Paws::DMS::KinesisSettings');
  has KmsKeyId => (is => 'ro', isa => 'Str');
  has MicrosoftSQLServerSettings => (is => 'ro', isa => 'Paws::DMS::MicrosoftSQLServerSettings');
  has MongoDbSettings => (is => 'ro', isa => 'Paws::DMS::MongoDbSettings');
  has MySQLSettings => (is => 'ro', isa => 'Paws::DMS::MySQLSettings');
  has NeptuneSettings => (is => 'ro', isa => 'Paws::DMS::NeptuneSettings');
  has OracleSettings => (is => 'ro', isa => 'Paws::DMS::OracleSettings');
  has Port => (is => 'ro', isa => 'Int');
  has PostgreSQLSettings => (is => 'ro', isa => 'Paws::DMS::PostgreSQLSettings');
  has RedshiftSettings => (is => 'ro', isa => 'Paws::DMS::RedshiftSettings');
  has S3Settings => (is => 'ro', isa => 'Paws::DMS::S3Settings');
  has ServerName => (is => 'ro', isa => 'Str');
  has ServiceAccessRoleArn => (is => 'ro', isa => 'Str');
  has SslMode => (is => 'ro', isa => 'Str');
  has Status => (is => 'ro', isa => 'Str');
  has SybaseSettings => (is => 'ro', isa => 'Paws::DMS::SybaseSettings');
  has Username => (is => 'ro', isa => 'Str');

1;

### main pod documentation begin ###

=head1 NAME

Paws::DMS::Endpoint

=head1 USAGE

This class represents one of two things:

=head3 Arguments in a call to a service

Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. 
Each attribute should be used as a named argument in the calls that expect this type of object.

As an example, if Att1 is expected to be a Paws::DMS::Endpoint object:

  $service_obj->Method(Att1 => { CertificateArn => $value, ..., Username => $value  });

=head3 Results returned from an API call

Use accessors for each attribute. If Att1 is expected to be an Paws::DMS::Endpoint object:

  $result = $service_obj->Method(...);
  $result->Att1->CertificateArn

=head1 DESCRIPTION

Describes an endpoint of a database instance in response to operations
such as the following:

=over

=item *

C<CreateEndpoint>

=item *

C<DescribeEndpoint>

=item *

C<DescribeEndpointTypes>

=item *

C<ModifyEndpoint>

=back


=head1 ATTRIBUTES


=head2 CertificateArn => Str

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.


=head2 DatabaseName => Str

The name of the database at the endpoint.


=head2 DmsTransferSettings => L<Paws::DMS::DmsTransferSettings>

The settings in JSON format for the DMS transfer type of source
endpoint.

Possible settings include the following:

=over

=item *

C<ServiceAccessRoleArn> - The IAM role that has permission to access
the Amazon S3 bucket.

=item *

C<BucketName> - The name of the S3 bucket to use.

=item *

C<CompressionType> - An optional parameter to use GZIP to compress the
target files. To use GZIP, set this value to C<NONE> (the default). To
keep the files uncompressed, don't use this value.

=back

Shorthand syntax for these settings is as follows:
C<ServiceAccessRoleArn=string,BucketName=string,CompressionType=string>

JSON syntax for these settings is as follows: C<{
"ServiceAccessRoleArn": "string", "BucketName": "string",
"CompressionType": "none"|"gzip" }>


=head2 DocDbSettings => L<Paws::DMS::DocDbSettings>




=head2 DynamoDbSettings => L<Paws::DMS::DynamoDbSettings>

The settings for the DynamoDB target endpoint. For more information,
see the C<DynamoDBSettings> structure.


=head2 ElasticsearchSettings => L<Paws::DMS::ElasticsearchSettings>

The settings for the Elasticsearch source endpoint. For more
information, see the C<ElasticsearchSettings> structure.


=head2 EndpointArn => Str

The Amazon Resource Name (ARN) string that uniquely identifies the
endpoint.


=head2 EndpointIdentifier => Str

The database endpoint identifier. Identifiers must begin with a letter
and must contain only ASCII letters, digits, and hyphens. They can't
end with a hyphen or contain two consecutive hyphens.


=head2 EndpointType => Str

The type of endpoint. Valid values are C<source> and C<target>.


=head2 EngineDisplayName => Str

The expanded name for the engine name. For example, if the
C<EngineName> parameter is "aurora," this value would be "Amazon Aurora
MySQL."


=head2 EngineName => Str

The database engine name. Valid values, depending on the EndpointType,
include C<"mysql">, C<"oracle">, C<"postgres">, C<"mariadb">,
C<"aurora">, C<"aurora-postgresql">, C<"redshift">, C<"s3">, C<"db2">,
C<"azuredb">, C<"sybase">, C<"dynamodb">, C<"mongodb">, C<"kinesis">,
C<"kafka">, C<"elasticsearch">, C<"documentdb">, C<"sqlserver">, and
C<"neptune">.


=head2 ExternalId => Str

Value returned by a call to CreateEndpoint that can be used for
cross-account validation. Use it on a subsequent call to CreateEndpoint
to create the endpoint with a cross-account.


=head2 ExternalTableDefinition => Str

The external table definition.


=head2 ExtraConnectionAttributes => Str

Additional connection attributes used to connect to the endpoint.


=head2 IBMDb2Settings => L<Paws::DMS::IBMDb2Settings>

The settings for the IBM Db2 LUW source endpoint. For more information,
see the C<IBMDb2Settings> structure.


=head2 KafkaSettings => L<Paws::DMS::KafkaSettings>

The settings for the Apache Kafka target endpoint. For more
information, see the C<KafkaSettings> structure.


=head2 KinesisSettings => L<Paws::DMS::KinesisSettings>

The settings for the Amazon Kinesis target endpoint. For more
information, see the C<KinesisSettings> structure.


=head2 KmsKeyId => Str

An AWS KMS key identifier that is used to encrypt the connection
parameters for the endpoint.

If you don't specify a value for the C<KmsKeyId> parameter, then AWS
DMS uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your
AWS account has a different default encryption key for each AWS Region.


=head2 MicrosoftSQLServerSettings => L<Paws::DMS::MicrosoftSQLServerSettings>

The settings for the Microsoft SQL Server source and target endpoint.
For more information, see the C<MicrosoftSQLServerSettings> structure.


=head2 MongoDbSettings => L<Paws::DMS::MongoDbSettings>

The settings for the MongoDB source endpoint. For more information, see
the C<MongoDbSettings> structure.


=head2 MySQLSettings => L<Paws::DMS::MySQLSettings>

The settings for the MySQL source and target endpoint. For more
information, see the C<MySQLSettings> structure.


=head2 NeptuneSettings => L<Paws::DMS::NeptuneSettings>

The settings for the Amazon Neptune target endpoint. For more
information, see the C<NeptuneSettings> structure.


=head2 OracleSettings => L<Paws::DMS::OracleSettings>

The settings for the Oracle source and target endpoint. For more
information, see the C<OracleSettings> structure.


=head2 Port => Int

The port value used to access the endpoint.


=head2 PostgreSQLSettings => L<Paws::DMS::PostgreSQLSettings>

The settings for the PostgreSQL source and target endpoint. For more
information, see the C<PostgreSQLSettings> structure.


=head2 RedshiftSettings => L<Paws::DMS::RedshiftSettings>

Settings for the Amazon Redshift endpoint.


=head2 S3Settings => L<Paws::DMS::S3Settings>

The settings for the S3 target endpoint. For more information, see the
C<S3Settings> structure.


=head2 ServerName => Str

The name of the server at the endpoint.


=head2 ServiceAccessRoleArn => Str

The Amazon Resource Name (ARN) used by the service access IAM role.


=head2 SslMode => Str

The SSL mode used to connect to the endpoint. The default value is
C<none>.


=head2 Status => Str

The status of the endpoint.


=head2 SybaseSettings => L<Paws::DMS::SybaseSettings>

The settings for the SAP ASE source and target endpoint. For more
information, see the C<SybaseSettings> structure.


=head2 Username => Str

The user name used to connect to the endpoint.



=head1 SEE ALSO

This class forms part of L<Paws>, describing an object used in L<Paws::DMS>

=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

