# 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__ = [
    'EndpointDocDbSettings',
    'EndpointDynamoDbSettings',
    'EndpointElasticsearchSettings',
    'EndpointIbmDb2Settings',
    'EndpointKafkaSettings',
    'EndpointKinesisSettings',
    'EndpointMicrosoftSqlServerSettings',
    'EndpointMongoDbSettings',
    'EndpointMySqlSettings',
    'EndpointNeptuneSettings',
    'EndpointOracleSettings',
    'EndpointPostgreSqlSettings',
    'EndpointRedshiftSettings',
    'EndpointS3Settings',
    'EndpointSybaseSettings',
    'EndpointTag',
    'EventSubscriptionTag',
    'ReplicationInstanceTag',
    'ReplicationSubnetGroupTag',
    'ReplicationTaskTag',
]

@pulumi.output_type
class EndpointDocDbSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointDocDbSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointDocDbSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointDocDbSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointDynamoDbSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "serviceAccessRoleArn":
            suggest = "service_access_role_arn"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointDynamoDbSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointDynamoDbSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointDynamoDbSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 service_access_role_arn: Optional[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[str]:
        return pulumi.get(self, "service_access_role_arn")


@pulumi.output_type
class EndpointElasticsearchSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "endpointUri":
            suggest = "endpoint_uri"
        elif key == "errorRetryDuration":
            suggest = "error_retry_duration"
        elif key == "fullLoadErrorPercentage":
            suggest = "full_load_error_percentage"
        elif key == "serviceAccessRoleArn":
            suggest = "service_access_role_arn"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointElasticsearchSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointElasticsearchSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointElasticsearchSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 endpoint_uri: Optional[str] = None,
                 error_retry_duration: Optional[int] = None,
                 full_load_error_percentage: Optional[int] = None,
                 service_access_role_arn: Optional[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[str]:
        return pulumi.get(self, "endpoint_uri")

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

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

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


@pulumi.output_type
class EndpointIbmDb2Settings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointIbmDb2Settings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointIbmDb2Settings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointIbmDb2Settings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointKafkaSettings(dict):
    def __init__(__self__, *,
                 broker: Optional[str] = None,
                 topic: Optional[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[str]:
        return pulumi.get(self, "broker")

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


@pulumi.output_type
class EndpointKinesisSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "messageFormat":
            suggest = "message_format"
        elif key == "serviceAccessRoleArn":
            suggest = "service_access_role_arn"
        elif key == "streamArn":
            suggest = "stream_arn"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointKinesisSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointKinesisSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointKinesisSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 message_format: Optional[str] = None,
                 service_access_role_arn: Optional[str] = None,
                 stream_arn: Optional[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[str]:
        return pulumi.get(self, "message_format")

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

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


@pulumi.output_type
class EndpointMicrosoftSqlServerSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointMicrosoftSqlServerSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointMicrosoftSqlServerSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointMicrosoftSqlServerSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointMongoDbSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "authMechanism":
            suggest = "auth_mechanism"
        elif key == "authSource":
            suggest = "auth_source"
        elif key == "authType":
            suggest = "auth_type"
        elif key == "databaseName":
            suggest = "database_name"
        elif key == "docsToInvestigate":
            suggest = "docs_to_investigate"
        elif key == "extractDocId":
            suggest = "extract_doc_id"
        elif key == "nestingLevel":
            suggest = "nesting_level"
        elif key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"
        elif key == "serverName":
            suggest = "server_name"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointMongoDbSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointMongoDbSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointMongoDbSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 auth_mechanism: Optional[str] = None,
                 auth_source: Optional[str] = None,
                 auth_type: Optional[str] = None,
                 database_name: Optional[str] = None,
                 docs_to_investigate: Optional[str] = None,
                 extract_doc_id: Optional[str] = None,
                 nesting_level: Optional[str] = None,
                 password: Optional[str] = None,
                 port: Optional[int] = None,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[str] = None,
                 server_name: Optional[str] = None,
                 username: Optional[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[str]:
        return pulumi.get(self, "auth_mechanism")

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

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

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

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

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

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

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

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

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

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

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

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


@pulumi.output_type
class EndpointMySqlSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointMySqlSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointMySqlSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointMySqlSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointNeptuneSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "errorRetryDuration":
            suggest = "error_retry_duration"
        elif key == "iamAuthEnabled":
            suggest = "iam_auth_enabled"
        elif key == "maxFileSize":
            suggest = "max_file_size"
        elif key == "maxRetryCount":
            suggest = "max_retry_count"
        elif key == "s3BucketFolder":
            suggest = "s3_bucket_folder"
        elif key == "s3BucketName":
            suggest = "s3_bucket_name"
        elif key == "serviceAccessRoleArn":
            suggest = "service_access_role_arn"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointNeptuneSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointNeptuneSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointNeptuneSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 error_retry_duration: Optional[int] = None,
                 iam_auth_enabled: Optional[bool] = None,
                 max_file_size: Optional[int] = None,
                 max_retry_count: Optional[int] = None,
                 s3_bucket_folder: Optional[str] = None,
                 s3_bucket_name: Optional[str] = None,
                 service_access_role_arn: Optional[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[int]:
        return pulumi.get(self, "error_retry_duration")

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

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

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

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

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

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


@pulumi.output_type
class EndpointOracleSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerOracleAsmAccessRoleArn":
            suggest = "secrets_manager_oracle_asm_access_role_arn"
        elif key == "secretsManagerOracleAsmSecretId":
            suggest = "secrets_manager_oracle_asm_secret_id"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointOracleSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointOracleSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointOracleSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_oracle_asm_access_role_arn: Optional[str] = None,
                 secrets_manager_oracle_asm_secret_id: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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

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

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


@pulumi.output_type
class EndpointPostgreSqlSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointPostgreSqlSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointPostgreSqlSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointPostgreSqlSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointRedshiftSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointRedshiftSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointRedshiftSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointRedshiftSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointS3Settings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "bucketFolder":
            suggest = "bucket_folder"
        elif key == "bucketName":
            suggest = "bucket_name"
        elif key == "compressionType":
            suggest = "compression_type"
        elif key == "csvDelimiter":
            suggest = "csv_delimiter"
        elif key == "csvRowDelimiter":
            suggest = "csv_row_delimiter"
        elif key == "externalTableDefinition":
            suggest = "external_table_definition"
        elif key == "serviceAccessRoleArn":
            suggest = "service_access_role_arn"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointS3Settings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointS3Settings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointS3Settings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 bucket_folder: Optional[str] = None,
                 bucket_name: Optional[str] = None,
                 compression_type: Optional[str] = None,
                 csv_delimiter: Optional[str] = None,
                 csv_row_delimiter: Optional[str] = None,
                 external_table_definition: Optional[str] = None,
                 service_access_role_arn: Optional[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[str]:
        return pulumi.get(self, "bucket_folder")

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

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

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

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

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

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


@pulumi.output_type
class EndpointSybaseSettings(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "secretsManagerAccessRoleArn":
            suggest = "secrets_manager_access_role_arn"
        elif key == "secretsManagerSecretId":
            suggest = "secrets_manager_secret_id"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in EndpointSybaseSettings. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        EndpointSybaseSettings.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        EndpointSybaseSettings.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 secrets_manager_access_role_arn: Optional[str] = None,
                 secrets_manager_secret_id: Optional[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[str]:
        return pulumi.get(self, "secrets_manager_access_role_arn")

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


@pulumi.output_type
class EndpointTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class EventSubscriptionTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class ReplicationInstanceTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class ReplicationSubnetGroupTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


@pulumi.output_type
class ReplicationTaskTag(dict):
    def __init__(__self__, *,
                 key: str,
                 value: str):
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "value", value)

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

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


