# coding=utf-8
# *** WARNING: this file was generated by the Pulumi SDK Generator. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'EndpointDocDbSettingsArgs',
    'EndpointDynamoDbSettingsArgs',
    'EndpointElasticsearchSettingsArgs',
    'EndpointIbmDb2SettingsArgs',
    'EndpointKafkaSettingsArgs',
    'EndpointKinesisSettingsArgs',
    'EndpointMicrosoftSqlServerSettingsArgs',
    'EndpointMongoDbSettingsArgs',
    'EndpointMySqlSettingsArgs',
    'EndpointNeptuneSettingsArgs',
    'EndpointOracleSettingsArgs',
    'EndpointPostgreSqlSettingsArgs',
    'EndpointRedshiftSettingsArgs',
    'EndpointS3SettingsArgs',
    'EndpointSybaseSettingsArgs',
    'EndpointTagArgs',
    'EventSubscriptionTagArgs',
    'ReplicationInstanceTagArgs',
    'ReplicationSubnetGroupTagArgs',
    'ReplicationTaskTagArgs',
]

@pulumi.input_type
class EndpointDocDbSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointDynamoDbSettingsArgs:
    def __init__(__self__, *,
                 service_access_role_arn: Optional[pulumi.Input[str]] = None):
        if service_access_role_arn is not None:
            pulumi.set(__self__, "service_access_role_arn", service_access_role_arn)

    @property
    @pulumi.getter(name="serviceAccessRoleArn")
    def service_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "service_access_role_arn")

    @service_access_role_arn.setter
    def service_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service_access_role_arn", value)


@pulumi.input_type
class EndpointElasticsearchSettingsArgs:
    def __init__(__self__, *,
                 endpoint_uri: Optional[pulumi.Input[str]] = None,
                 error_retry_duration: Optional[pulumi.Input[int]] = None,
                 full_load_error_percentage: Optional[pulumi.Input[int]] = None,
                 service_access_role_arn: Optional[pulumi.Input[str]] = None):
        if endpoint_uri is not None:
            pulumi.set(__self__, "endpoint_uri", endpoint_uri)
        if error_retry_duration is not None:
            pulumi.set(__self__, "error_retry_duration", error_retry_duration)
        if full_load_error_percentage is not None:
            pulumi.set(__self__, "full_load_error_percentage", full_load_error_percentage)
        if service_access_role_arn is not None:
            pulumi.set(__self__, "service_access_role_arn", service_access_role_arn)

    @property
    @pulumi.getter(name="endpointUri")
    def endpoint_uri(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "endpoint_uri")

    @endpoint_uri.setter
    def endpoint_uri(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "endpoint_uri", value)

    @property
    @pulumi.getter(name="errorRetryDuration")
    def error_retry_duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "error_retry_duration")

    @error_retry_duration.setter
    def error_retry_duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "error_retry_duration", value)

    @property
    @pulumi.getter(name="fullLoadErrorPercentage")
    def full_load_error_percentage(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "full_load_error_percentage")

    @full_load_error_percentage.setter
    def full_load_error_percentage(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "full_load_error_percentage", value)

    @property
    @pulumi.getter(name="serviceAccessRoleArn")
    def service_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "service_access_role_arn")

    @service_access_role_arn.setter
    def service_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service_access_role_arn", value)


@pulumi.input_type
class EndpointIbmDb2SettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointKafkaSettingsArgs:
    def __init__(__self__, *,
                 broker: Optional[pulumi.Input[str]] = None,
                 topic: Optional[pulumi.Input[str]] = None):
        if broker is not None:
            pulumi.set(__self__, "broker", broker)
        if topic is not None:
            pulumi.set(__self__, "topic", topic)

    @property
    @pulumi.getter
    def broker(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "broker")

    @broker.setter
    def broker(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "broker", value)

    @property
    @pulumi.getter
    def topic(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "topic")

    @topic.setter
    def topic(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "topic", value)


@pulumi.input_type
class EndpointKinesisSettingsArgs:
    def __init__(__self__, *,
                 message_format: Optional[pulumi.Input[str]] = None,
                 service_access_role_arn: Optional[pulumi.Input[str]] = None,
                 stream_arn: Optional[pulumi.Input[str]] = None):
        if message_format is not None:
            pulumi.set(__self__, "message_format", message_format)
        if service_access_role_arn is not None:
            pulumi.set(__self__, "service_access_role_arn", service_access_role_arn)
        if stream_arn is not None:
            pulumi.set(__self__, "stream_arn", stream_arn)

    @property
    @pulumi.getter(name="messageFormat")
    def message_format(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "message_format")

    @message_format.setter
    def message_format(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "message_format", value)

    @property
    @pulumi.getter(name="serviceAccessRoleArn")
    def service_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "service_access_role_arn")

    @service_access_role_arn.setter
    def service_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service_access_role_arn", value)

    @property
    @pulumi.getter(name="streamArn")
    def stream_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "stream_arn")

    @stream_arn.setter
    def stream_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "stream_arn", value)


@pulumi.input_type
class EndpointMicrosoftSqlServerSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointMongoDbSettingsArgs:
    def __init__(__self__, *,
                 auth_mechanism: Optional[pulumi.Input[str]] = None,
                 auth_source: Optional[pulumi.Input[str]] = None,
                 auth_type: Optional[pulumi.Input[str]] = None,
                 database_name: Optional[pulumi.Input[str]] = None,
                 docs_to_investigate: Optional[pulumi.Input[str]] = None,
                 extract_doc_id: Optional[pulumi.Input[str]] = None,
                 nesting_level: Optional[pulumi.Input[str]] = None,
                 password: Optional[pulumi.Input[str]] = None,
                 port: Optional[pulumi.Input[int]] = None,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None,
                 server_name: Optional[pulumi.Input[str]] = None,
                 username: Optional[pulumi.Input[str]] = None):
        if auth_mechanism is not None:
            pulumi.set(__self__, "auth_mechanism", auth_mechanism)
        if auth_source is not None:
            pulumi.set(__self__, "auth_source", auth_source)
        if auth_type is not None:
            pulumi.set(__self__, "auth_type", auth_type)
        if database_name is not None:
            pulumi.set(__self__, "database_name", database_name)
        if docs_to_investigate is not None:
            pulumi.set(__self__, "docs_to_investigate", docs_to_investigate)
        if extract_doc_id is not None:
            pulumi.set(__self__, "extract_doc_id", extract_doc_id)
        if nesting_level is not None:
            pulumi.set(__self__, "nesting_level", nesting_level)
        if password is not None:
            pulumi.set(__self__, "password", password)
        if port is not None:
            pulumi.set(__self__, "port", port)
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)
        if server_name is not None:
            pulumi.set(__self__, "server_name", server_name)
        if username is not None:
            pulumi.set(__self__, "username", username)

    @property
    @pulumi.getter(name="authMechanism")
    def auth_mechanism(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "auth_mechanism")

    @auth_mechanism.setter
    def auth_mechanism(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "auth_mechanism", value)

    @property
    @pulumi.getter(name="authSource")
    def auth_source(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "auth_source")

    @auth_source.setter
    def auth_source(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "auth_source", value)

    @property
    @pulumi.getter(name="authType")
    def auth_type(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "auth_type")

    @auth_type.setter
    def auth_type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "auth_type", value)

    @property
    @pulumi.getter(name="databaseName")
    def database_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "database_name")

    @database_name.setter
    def database_name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "database_name", value)

    @property
    @pulumi.getter(name="docsToInvestigate")
    def docs_to_investigate(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "docs_to_investigate")

    @docs_to_investigate.setter
    def docs_to_investigate(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "docs_to_investigate", value)

    @property
    @pulumi.getter(name="extractDocId")
    def extract_doc_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "extract_doc_id")

    @extract_doc_id.setter
    def extract_doc_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "extract_doc_id", value)

    @property
    @pulumi.getter(name="nestingLevel")
    def nesting_level(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "nesting_level")

    @nesting_level.setter
    def nesting_level(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "nesting_level", value)

    @property
    @pulumi.getter
    def password(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "password")

    @password.setter
    def password(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "password", value)

    @property
    @pulumi.getter
    def port(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "port")

    @port.setter
    def port(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "port", value)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)

    @property
    @pulumi.getter(name="serverName")
    def server_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "server_name")

    @server_name.setter
    def server_name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "server_name", value)

    @property
    @pulumi.getter
    def username(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "username")

    @username.setter
    def username(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "username", value)


@pulumi.input_type
class EndpointMySqlSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointNeptuneSettingsArgs:
    def __init__(__self__, *,
                 error_retry_duration: Optional[pulumi.Input[int]] = None,
                 iam_auth_enabled: Optional[pulumi.Input[bool]] = None,
                 max_file_size: Optional[pulumi.Input[int]] = None,
                 max_retry_count: Optional[pulumi.Input[int]] = None,
                 s3_bucket_folder: Optional[pulumi.Input[str]] = None,
                 s3_bucket_name: Optional[pulumi.Input[str]] = None,
                 service_access_role_arn: Optional[pulumi.Input[str]] = None):
        if error_retry_duration is not None:
            pulumi.set(__self__, "error_retry_duration", error_retry_duration)
        if iam_auth_enabled is not None:
            pulumi.set(__self__, "iam_auth_enabled", iam_auth_enabled)
        if max_file_size is not None:
            pulumi.set(__self__, "max_file_size", max_file_size)
        if max_retry_count is not None:
            pulumi.set(__self__, "max_retry_count", max_retry_count)
        if s3_bucket_folder is not None:
            pulumi.set(__self__, "s3_bucket_folder", s3_bucket_folder)
        if s3_bucket_name is not None:
            pulumi.set(__self__, "s3_bucket_name", s3_bucket_name)
        if service_access_role_arn is not None:
            pulumi.set(__self__, "service_access_role_arn", service_access_role_arn)

    @property
    @pulumi.getter(name="errorRetryDuration")
    def error_retry_duration(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "error_retry_duration")

    @error_retry_duration.setter
    def error_retry_duration(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "error_retry_duration", value)

    @property
    @pulumi.getter(name="iamAuthEnabled")
    def iam_auth_enabled(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "iam_auth_enabled")

    @iam_auth_enabled.setter
    def iam_auth_enabled(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "iam_auth_enabled", value)

    @property
    @pulumi.getter(name="maxFileSize")
    def max_file_size(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "max_file_size")

    @max_file_size.setter
    def max_file_size(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "max_file_size", value)

    @property
    @pulumi.getter(name="maxRetryCount")
    def max_retry_count(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "max_retry_count")

    @max_retry_count.setter
    def max_retry_count(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "max_retry_count", value)

    @property
    @pulumi.getter(name="s3BucketFolder")
    def s3_bucket_folder(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "s3_bucket_folder")

    @s3_bucket_folder.setter
    def s3_bucket_folder(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "s3_bucket_folder", value)

    @property
    @pulumi.getter(name="s3BucketName")
    def s3_bucket_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "s3_bucket_name")

    @s3_bucket_name.setter
    def s3_bucket_name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "s3_bucket_name", value)

    @property
    @pulumi.getter(name="serviceAccessRoleArn")
    def service_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "service_access_role_arn")

    @service_access_role_arn.setter
    def service_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service_access_role_arn", value)


@pulumi.input_type
class EndpointOracleSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_oracle_asm_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_oracle_asm_secret_id: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_oracle_asm_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_oracle_asm_access_role_arn", secrets_manager_oracle_asm_access_role_arn)
        if secrets_manager_oracle_asm_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_oracle_asm_secret_id", secrets_manager_oracle_asm_secret_id)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerOracleAsmAccessRoleArn")
    def secrets_manager_oracle_asm_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_oracle_asm_access_role_arn")

    @secrets_manager_oracle_asm_access_role_arn.setter
    def secrets_manager_oracle_asm_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_oracle_asm_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerOracleAsmSecretId")
    def secrets_manager_oracle_asm_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_oracle_asm_secret_id")

    @secrets_manager_oracle_asm_secret_id.setter
    def secrets_manager_oracle_asm_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_oracle_asm_secret_id", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointPostgreSqlSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointRedshiftSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointS3SettingsArgs:
    def __init__(__self__, *,
                 bucket_folder: Optional[pulumi.Input[str]] = None,
                 bucket_name: Optional[pulumi.Input[str]] = None,
                 compression_type: Optional[pulumi.Input[str]] = None,
                 csv_delimiter: Optional[pulumi.Input[str]] = None,
                 csv_row_delimiter: Optional[pulumi.Input[str]] = None,
                 external_table_definition: Optional[pulumi.Input[str]] = None,
                 service_access_role_arn: Optional[pulumi.Input[str]] = None):
        if bucket_folder is not None:
            pulumi.set(__self__, "bucket_folder", bucket_folder)
        if bucket_name is not None:
            pulumi.set(__self__, "bucket_name", bucket_name)
        if compression_type is not None:
            pulumi.set(__self__, "compression_type", compression_type)
        if csv_delimiter is not None:
            pulumi.set(__self__, "csv_delimiter", csv_delimiter)
        if csv_row_delimiter is not None:
            pulumi.set(__self__, "csv_row_delimiter", csv_row_delimiter)
        if external_table_definition is not None:
            pulumi.set(__self__, "external_table_definition", external_table_definition)
        if service_access_role_arn is not None:
            pulumi.set(__self__, "service_access_role_arn", service_access_role_arn)

    @property
    @pulumi.getter(name="bucketFolder")
    def bucket_folder(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "bucket_folder")

    @bucket_folder.setter
    def bucket_folder(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "bucket_folder", value)

    @property
    @pulumi.getter(name="bucketName")
    def bucket_name(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "bucket_name")

    @bucket_name.setter
    def bucket_name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "bucket_name", value)

    @property
    @pulumi.getter(name="compressionType")
    def compression_type(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "compression_type")

    @compression_type.setter
    def compression_type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "compression_type", value)

    @property
    @pulumi.getter(name="csvDelimiter")
    def csv_delimiter(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "csv_delimiter")

    @csv_delimiter.setter
    def csv_delimiter(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "csv_delimiter", value)

    @property
    @pulumi.getter(name="csvRowDelimiter")
    def csv_row_delimiter(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "csv_row_delimiter")

    @csv_row_delimiter.setter
    def csv_row_delimiter(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "csv_row_delimiter", value)

    @property
    @pulumi.getter(name="externalTableDefinition")
    def external_table_definition(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "external_table_definition")

    @external_table_definition.setter
    def external_table_definition(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "external_table_definition", value)

    @property
    @pulumi.getter(name="serviceAccessRoleArn")
    def service_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "service_access_role_arn")

    @service_access_role_arn.setter
    def service_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service_access_role_arn", value)


@pulumi.input_type
class EndpointSybaseSettingsArgs:
    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None,
                 secrets_manager_secret_id: Optional[pulumi.Input[str]] = None):
        if secrets_manager_access_role_arn is not None:
            pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn)
        if secrets_manager_secret_id is not None:
            pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id)

    @property
    @pulumi.getter(name="secretsManagerAccessRoleArn")
    def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

    @secrets_manager_access_role_arn.setter
    def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_access_role_arn", value)

    @property
    @pulumi.getter(name="secretsManagerSecretId")
    def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "secrets_manager_secret_id")

    @secrets_manager_secret_id.setter
    def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "secrets_manager_secret_id", value)


@pulumi.input_type
class EndpointTagArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str]):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: pulumi.Input[str]):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)


@pulumi.input_type
class EventSubscriptionTagArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str]):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: pulumi.Input[str]):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)


@pulumi.input_type
class ReplicationInstanceTagArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str]):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: pulumi.Input[str]):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)


@pulumi.input_type
class ReplicationSubnetGroupTagArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str]):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: pulumi.Input[str]):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)


@pulumi.input_type
class ReplicationTaskTagArgs:
    def __init__(__self__, *,
                 key: pulumi.Input[str],
                 value: pulumi.Input[str]):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> pulumi.Input[str]:
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: pulumi.Input[str]):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)


