import {
  ActivityStreamMode,
  ActivityStreamPolicyStatus,
  ActivityStreamStatus,
  AuditPolicyState,
  AutomationMode,
  CustomEngineVersionStatus,
  DatabaseInsightsMode,
  DefaultAuthScheme,
  MasterUserAuthenticationType,
  ReplicaMode,
} from "./enums";
import {
  AdditionalStorageVolume,
  AvailableProcessorFeature,
  BlueGreenDeployment,
  Certificate,
  DBCluster,
  DBClusterAssociatedRole,
  DBClusterSnapshotAttributesResult,
  DBInstance,
  DBInstanceAutomatedBackup,
  DBProxy,
  DBProxyEndpoint,
  DBProxyTarget,
  DBProxyTargetGroup,
  DBRecommendation,
  DBSecurityGroup,
  DBSnapshot,
  DBSnapshotAttributesResult,
  DBSubnetGroup,
  EventSubscription,
  Filter,
  GlobalCluster,
  OptionGroup,
  OptionSetting,
  Parameter,
  ProcessorFeature,
  RdsCustomClusterConfiguration,
  ReservedDBInstance,
  ScalingConfiguration,
  ServerlessV2ScalingConfiguration,
  Tag,
  TagSpecification,
  TenantDatabase,
  UserAuthConfig,
} from "./models_0";
export interface DescribeSourceRegionsMessage {
  RegionName?: string | undefined;
  MaxRecords?: number | undefined;
  Marker?: string | undefined;
  Filters?: Filter[] | undefined;
}
export interface SourceRegion {
  RegionName?: string | undefined;
  Endpoint?: string | undefined;
  Status?: string | undefined;
  SupportsDBInstanceAutomatedBackupsReplication?: boolean | undefined;
}
export interface SourceRegionMessage {
  Marker?: string | undefined;
  SourceRegions?: SourceRegion[] | undefined;
}
export interface DescribeTenantDatabasesMessage {
  DBInstanceIdentifier?: string | undefined;
  TenantDBName?: string | undefined;
  Filters?: Filter[] | undefined;
  Marker?: string | undefined;
  MaxRecords?: number | undefined;
}
export interface TenantDatabasesMessage {
  Marker?: string | undefined;
  TenantDatabases?: TenantDatabase[] | undefined;
}
export interface DescribeValidDBInstanceModificationsMessage {
  DBInstanceIdentifier: string | undefined;
}
export interface DoubleRange {
  From?: number | undefined;
  To?: number | undefined;
}
export interface Range {
  From?: number | undefined;
  To?: number | undefined;
  Step?: number | undefined;
}
export interface ValidStorageOptions {
  StorageType?: string | undefined;
  StorageSize?: Range[] | undefined;
  ProvisionedIops?: Range[] | undefined;
  IopsToStorageRatio?: DoubleRange[] | undefined;
  ProvisionedStorageThroughput?: Range[] | undefined;
  StorageThroughputToIopsRatio?: DoubleRange[] | undefined;
  SupportsStorageAutoscaling?: boolean | undefined;
}
export interface ValidVolumeOptions {
  VolumeName?: string | undefined;
  Storage?: ValidStorageOptions[] | undefined;
}
export interface ValidAdditionalStorageOptions {
  SupportsAdditionalStorageVolumes?: boolean | undefined;
  Volumes?: ValidVolumeOptions[] | undefined;
}
export interface ValidDBInstanceModificationsMessage {
  Storage?: ValidStorageOptions[] | undefined;
  ValidProcessorFeatures?: AvailableProcessorFeature[] | undefined;
  SupportsDedicatedLogVolume?: boolean | undefined;
  AdditionalStorage?: ValidAdditionalStorageOptions | undefined;
}
export interface DescribeValidDBInstanceModificationsResult {
  ValidDBInstanceModificationsMessage?: ValidDBInstanceModificationsMessage | undefined;
}
export interface DisableHttpEndpointRequest {
  ResourceArn: string | undefined;
}
export interface DisableHttpEndpointResponse {
  ResourceArn?: string | undefined;
  HttpEndpointEnabled?: boolean | undefined;
}
export interface DownloadDBLogFilePortionDetails {
  LogFileData?: string | undefined;
  Marker?: string | undefined;
  AdditionalDataPending?: boolean | undefined;
}
export interface DownloadDBLogFilePortionMessage {
  DBInstanceIdentifier: string | undefined;
  LogFileName: string | undefined;
  Marker?: string | undefined;
  NumberOfLines?: number | undefined;
}
export interface EnableHttpEndpointRequest {
  ResourceArn: string | undefined;
}
export interface EnableHttpEndpointResponse {
  ResourceArn?: string | undefined;
  HttpEndpointEnabled?: boolean | undefined;
}
export interface FailoverDBClusterMessage {
  DBClusterIdentifier: string | undefined;
  TargetDBInstanceIdentifier?: string | undefined;
}
export interface FailoverDBClusterResult {
  DBCluster?: DBCluster | undefined;
}
export interface FailoverGlobalClusterMessage {
  GlobalClusterIdentifier: string | undefined;
  TargetDbClusterIdentifier: string | undefined;
  AllowDataLoss?: boolean | undefined;
  Switchover?: boolean | undefined;
}
export interface FailoverGlobalClusterResult {
  GlobalCluster?: GlobalCluster | undefined;
}
export interface ListTagsForResourceMessage {
  ResourceName: string | undefined;
  Filters?: Filter[] | undefined;
}
export interface TagListMessage {
  TagList?: Tag[] | undefined;
}
export interface ModifyActivityStreamRequest {
  ResourceArn?: string | undefined;
  AuditPolicyState?: AuditPolicyState | undefined;
}
export interface ModifyActivityStreamResponse {
  KmsKeyId?: string | undefined;
  KinesisStreamName?: string | undefined;
  Status?: ActivityStreamStatus | undefined;
  Mode?: ActivityStreamMode | undefined;
  EngineNativeAuditFieldsIncluded?: boolean | undefined;
  PolicyStatus?: ActivityStreamPolicyStatus | undefined;
}
export interface ModifyCertificatesMessage {
  CertificateIdentifier?: string | undefined;
  RemoveCustomerOverride?: boolean | undefined;
}
export interface ModifyCertificatesResult {
  Certificate?: Certificate | undefined;
}
export interface DBClusterCapacityInfo {
  DBClusterIdentifier?: string | undefined;
  PendingCapacity?: number | undefined;
  CurrentCapacity?: number | undefined;
  SecondsBeforeTimeout?: number | undefined;
  TimeoutAction?: string | undefined;
}
export interface ModifyCurrentDBClusterCapacityMessage {
  DBClusterIdentifier: string | undefined;
  Capacity?: number | undefined;
  SecondsBeforeTimeout?: number | undefined;
  TimeoutAction?: string | undefined;
}
export interface ModifyCustomDBEngineVersionMessage {
  Engine: string | undefined;
  EngineVersion: string | undefined;
  Description?: string | undefined;
  Status?: CustomEngineVersionStatus | undefined;
}
export interface CloudwatchLogsExportConfiguration {
  EnableLogTypes?: string[] | undefined;
  DisableLogTypes?: string[] | undefined;
}
export interface ModifyDBClusterMessage {
  DBClusterIdentifier: string | undefined;
  NewDBClusterIdentifier?: string | undefined;
  ApplyImmediately?: boolean | undefined;
  BackupRetentionPeriod?: number | undefined;
  DBClusterParameterGroupName?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  Port?: number | undefined;
  MasterUserPassword?: string | undefined;
  OptionGroupName?: string | undefined;
  PreferredBackupWindow?: string | undefined;
  PreferredMaintenanceWindow?: string | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  BacktrackWindow?: number | undefined;
  CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration | undefined;
  EngineVersion?: string | undefined;
  AllowMajorVersionUpgrade?: boolean | undefined;
  DBInstanceParameterGroupName?: string | undefined;
  Domain?: string | undefined;
  DomainIAMRoleName?: string | undefined;
  ScalingConfiguration?: ScalingConfiguration | undefined;
  DeletionProtection?: boolean | undefined;
  EnableHttpEndpoint?: boolean | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  EnableGlobalWriteForwarding?: boolean | undefined;
  DBClusterInstanceClass?: string | undefined;
  AllocatedStorage?: number | undefined;
  StorageType?: string | undefined;
  Iops?: number | undefined;
  AutoMinorVersionUpgrade?: boolean | undefined;
  NetworkType?: string | undefined;
  ServerlessV2ScalingConfiguration?: ServerlessV2ScalingConfiguration | undefined;
  MonitoringInterval?: number | undefined;
  MonitoringRoleArn?: string | undefined;
  DatabaseInsightsMode?: DatabaseInsightsMode | undefined;
  EnablePerformanceInsights?: boolean | undefined;
  PerformanceInsightsKMSKeyId?: string | undefined;
  PerformanceInsightsRetentionPeriod?: number | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  RotateMasterUserPassword?: boolean | undefined;
  EnableLocalWriteForwarding?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
  EngineMode?: string | undefined;
  AllowEngineModeChange?: boolean | undefined;
  AwsBackupRecoveryPointArn?: string | undefined;
  EnableLimitlessDatabase?: boolean | undefined;
  CACertificateIdentifier?: string | undefined;
  MasterUserAuthenticationType?: MasterUserAuthenticationType | undefined;
  EngineLifecycleSupport?: string | undefined;
}
export interface ModifyDBClusterResult {
  DBCluster?: DBCluster | undefined;
}
export interface ModifyDBClusterEndpointMessage {
  DBClusterEndpointIdentifier: string | undefined;
  EndpointType?: string | undefined;
  StaticMembers?: string[] | undefined;
  ExcludedMembers?: string[] | undefined;
}
export interface DBClusterParameterGroupNameMessage {
  DBClusterParameterGroupName?: string | undefined;
}
export interface ModifyDBClusterParameterGroupMessage {
  DBClusterParameterGroupName: string | undefined;
  Parameters: Parameter[] | undefined;
}
export interface ModifyDBClusterSnapshotAttributeMessage {
  DBClusterSnapshotIdentifier: string | undefined;
  AttributeName: string | undefined;
  ValuesToAdd?: string[] | undefined;
  ValuesToRemove?: string[] | undefined;
}
export interface ModifyDBClusterSnapshotAttributeResult {
  DBClusterSnapshotAttributesResult?: DBClusterSnapshotAttributesResult | undefined;
}
export interface ModifyAdditionalStorageVolume {
  VolumeName: string | undefined;
  AllocatedStorage?: number | undefined;
  IOPS?: number | undefined;
  MaxAllocatedStorage?: number | undefined;
  StorageThroughput?: number | undefined;
  StorageType?: string | undefined;
  SetForDelete?: boolean | undefined;
}
export interface ModifyDBInstanceMessage {
  DBInstanceIdentifier: string | undefined;
  AllocatedStorage?: number | undefined;
  DBInstanceClass?: string | undefined;
  DBSubnetGroupName?: string | undefined;
  DBSecurityGroups?: string[] | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  ApplyImmediately?: boolean | undefined;
  MasterUserPassword?: string | undefined;
  DBParameterGroupName?: string | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  PreferredMaintenanceWindow?: string | undefined;
  MultiAZ?: boolean | undefined;
  EngineVersion?: string | undefined;
  AllowMajorVersionUpgrade?: boolean | undefined;
  AutoMinorVersionUpgrade?: boolean | undefined;
  LicenseModel?: string | undefined;
  Iops?: number | undefined;
  StorageThroughput?: number | undefined;
  OptionGroupName?: string | undefined;
  NewDBInstanceIdentifier?: string | undefined;
  StorageType?: string | undefined;
  TdeCredentialArn?: string | undefined;
  TdeCredentialPassword?: string | undefined;
  CACertificateIdentifier?: string | undefined;
  Domain?: string | undefined;
  DomainFqdn?: string | undefined;
  DomainOu?: string | undefined;
  DomainAuthSecretArn?: string | undefined;
  DomainDnsIps?: string[] | undefined;
  DisableDomain?: boolean | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  MonitoringInterval?: number | undefined;
  DBPortNumber?: number | undefined;
  PubliclyAccessible?: boolean | undefined;
  MonitoringRoleArn?: string | undefined;
  DomainIAMRoleName?: string | undefined;
  PromotionTier?: number | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  DatabaseInsightsMode?: DatabaseInsightsMode | undefined;
  EnablePerformanceInsights?: boolean | undefined;
  PerformanceInsightsKMSKeyId?: string | undefined;
  PerformanceInsightsRetentionPeriod?: number | undefined;
  CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration | undefined;
  ProcessorFeatures?: ProcessorFeature[] | undefined;
  UseDefaultProcessorFeatures?: boolean | undefined;
  DeletionProtection?: boolean | undefined;
  MaxAllocatedStorage?: number | undefined;
  CertificateRotationRestart?: boolean | undefined;
  ReplicaMode?: ReplicaMode | undefined;
  AutomationMode?: AutomationMode | undefined;
  ResumeFullAutomationModeMinutes?: number | undefined;
  EnableCustomerOwnedIp?: boolean | undefined;
  NetworkType?: string | undefined;
  AwsBackupRecoveryPointArn?: string | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  RotateMasterUserPassword?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
  MultiTenant?: boolean | undefined;
  DedicatedLogVolume?: boolean | undefined;
  Engine?: string | undefined;
  AdditionalStorageVolumes?: ModifyAdditionalStorageVolume[] | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  MasterUserAuthenticationType?: MasterUserAuthenticationType | undefined;
  EngineLifecycleSupport?: string | undefined;
}
export interface ModifyDBInstanceResult {
  DBInstance?: DBInstance | undefined;
}
export interface DBParameterGroupNameMessage {
  DBParameterGroupName?: string | undefined;
}
export interface ModifyDBParameterGroupMessage {
  DBParameterGroupName: string | undefined;
  Parameters: Parameter[] | undefined;
}
export interface ModifyDBProxyRequest {
  DBProxyName: string | undefined;
  NewDBProxyName?: string | undefined;
  DefaultAuthScheme?: DefaultAuthScheme | undefined;
  Auth?: UserAuthConfig[] | undefined;
  RequireTLS?: boolean | undefined;
  IdleClientTimeout?: number | undefined;
  DebugLogging?: boolean | undefined;
  RoleArn?: string | undefined;
  SecurityGroups?: string[] | undefined;
}
export interface ModifyDBProxyResponse {
  DBProxy?: DBProxy | undefined;
}
export interface ModifyDBProxyEndpointRequest {
  DBProxyEndpointName: string | undefined;
  NewDBProxyEndpointName?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
}
export interface ModifyDBProxyEndpointResponse {
  DBProxyEndpoint?: DBProxyEndpoint | undefined;
}
export interface ConnectionPoolConfiguration {
  MaxConnectionsPercent?: number | undefined;
  MaxIdleConnectionsPercent?: number | undefined;
  ConnectionBorrowTimeout?: number | undefined;
  SessionPinningFilters?: string[] | undefined;
  InitQuery?: string | undefined;
}
export interface ModifyDBProxyTargetGroupRequest {
  TargetGroupName: string | undefined;
  DBProxyName: string | undefined;
  ConnectionPoolConfig?: ConnectionPoolConfiguration | undefined;
  NewName?: string | undefined;
}
export interface ModifyDBProxyTargetGroupResponse {
  DBProxyTargetGroup?: DBProxyTargetGroup | undefined;
}
export interface DBRecommendationMessage {
  DBRecommendation?: DBRecommendation | undefined;
}
export interface RecommendedActionUpdate {
  ActionId: string | undefined;
  Status: string | undefined;
}
export interface ModifyDBRecommendationMessage {
  RecommendationId: string | undefined;
  Locale?: string | undefined;
  Status?: string | undefined;
  RecommendedActionUpdates?: RecommendedActionUpdate[] | undefined;
}
export interface ModifyDBShardGroupMessage {
  DBShardGroupIdentifier: string | undefined;
  MaxACU?: number | undefined;
  MinACU?: number | undefined;
  ComputeRedundancy?: number | undefined;
}
export interface ModifyDBSnapshotMessage {
  DBSnapshotIdentifier: string | undefined;
  EngineVersion?: string | undefined;
  OptionGroupName?: string | undefined;
}
export interface ModifyDBSnapshotResult {
  DBSnapshot?: DBSnapshot | undefined;
}
export interface ModifyDBSnapshotAttributeMessage {
  DBSnapshotIdentifier: string | undefined;
  AttributeName: string | undefined;
  ValuesToAdd?: string[] | undefined;
  ValuesToRemove?: string[] | undefined;
}
export interface ModifyDBSnapshotAttributeResult {
  DBSnapshotAttributesResult?: DBSnapshotAttributesResult | undefined;
}
export interface ModifyDBSubnetGroupMessage {
  DBSubnetGroupName: string | undefined;
  DBSubnetGroupDescription?: string | undefined;
  SubnetIds: string[] | undefined;
}
export interface ModifyDBSubnetGroupResult {
  DBSubnetGroup?: DBSubnetGroup | undefined;
}
export interface ModifyEventSubscriptionMessage {
  SubscriptionName: string | undefined;
  SnsTopicArn?: string | undefined;
  SourceType?: string | undefined;
  EventCategories?: string[] | undefined;
  Enabled?: boolean | undefined;
}
export interface ModifyEventSubscriptionResult {
  EventSubscription?: EventSubscription | undefined;
}
export interface ModifyGlobalClusterMessage {
  GlobalClusterIdentifier: string | undefined;
  NewGlobalClusterIdentifier?: string | undefined;
  DeletionProtection?: boolean | undefined;
  EngineVersion?: string | undefined;
  AllowMajorVersionUpgrade?: boolean | undefined;
}
export interface ModifyGlobalClusterResult {
  GlobalCluster?: GlobalCluster | undefined;
}
export interface ModifyIntegrationMessage {
  IntegrationIdentifier: string | undefined;
  IntegrationName?: string | undefined;
  DataFilter?: string | undefined;
  Description?: string | undefined;
}
export interface OptionConfiguration {
  OptionName: string | undefined;
  Port?: number | undefined;
  OptionVersion?: string | undefined;
  DBSecurityGroupMemberships?: string[] | undefined;
  VpcSecurityGroupMemberships?: string[] | undefined;
  OptionSettings?: OptionSetting[] | undefined;
}
export interface ModifyOptionGroupMessage {
  OptionGroupName: string | undefined;
  OptionsToInclude?: OptionConfiguration[] | undefined;
  OptionsToRemove?: string[] | undefined;
  ApplyImmediately?: boolean | undefined;
}
export interface ModifyOptionGroupResult {
  OptionGroup?: OptionGroup | undefined;
}
export interface ModifyTenantDatabaseMessage {
  DBInstanceIdentifier: string | undefined;
  TenantDBName: string | undefined;
  MasterUserPassword?: string | undefined;
  NewTenantDBName?: string | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  RotateMasterUserPassword?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
}
export interface ModifyTenantDatabaseResult {
  TenantDatabase?: TenantDatabase | undefined;
}
export interface PromoteReadReplicaMessage {
  DBInstanceIdentifier: string | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
}
export interface PromoteReadReplicaResult {
  DBInstance?: DBInstance | undefined;
}
export interface PromoteReadReplicaDBClusterMessage {
  DBClusterIdentifier: string | undefined;
}
export interface PromoteReadReplicaDBClusterResult {
  DBCluster?: DBCluster | undefined;
}
export interface PurchaseReservedDBInstancesOfferingMessage {
  ReservedDBInstancesOfferingId: string | undefined;
  ReservedDBInstanceId?: string | undefined;
  DBInstanceCount?: number | undefined;
  Tags?: Tag[] | undefined;
}
export interface PurchaseReservedDBInstancesOfferingResult {
  ReservedDBInstance?: ReservedDBInstance | undefined;
}
export interface RebootDBClusterMessage {
  DBClusterIdentifier: string | undefined;
}
export interface RebootDBClusterResult {
  DBCluster?: DBCluster | undefined;
}
export interface RebootDBInstanceMessage {
  DBInstanceIdentifier: string | undefined;
  ForceFailover?: boolean | undefined;
}
export interface RebootDBInstanceResult {
  DBInstance?: DBInstance | undefined;
}
export interface RebootDBShardGroupMessage {
  DBShardGroupIdentifier: string | undefined;
}
export interface RegisterDBProxyTargetsRequest {
  DBProxyName: string | undefined;
  TargetGroupName?: string | undefined;
  DBInstanceIdentifiers?: string[] | undefined;
  DBClusterIdentifiers?: string[] | undefined;
}
export interface RegisterDBProxyTargetsResponse {
  DBProxyTargets?: DBProxyTarget[] | undefined;
}
export interface RemoveFromGlobalClusterMessage {
  GlobalClusterIdentifier: string | undefined;
  DbClusterIdentifier: string | undefined;
}
export interface RemoveFromGlobalClusterResult {
  GlobalCluster?: GlobalCluster | undefined;
}
export interface RemoveRoleFromDBClusterMessage {
  DBClusterIdentifier: string | undefined;
  RoleArn: string | undefined;
  FeatureName?: string | undefined;
}
export interface RemoveRoleFromDBInstanceMessage {
  DBInstanceIdentifier: string | undefined;
  RoleArn: string | undefined;
  FeatureName: string | undefined;
}
export interface RemoveSourceIdentifierFromSubscriptionMessage {
  SubscriptionName: string | undefined;
  SourceIdentifier: string | undefined;
}
export interface RemoveSourceIdentifierFromSubscriptionResult {
  EventSubscription?: EventSubscription | undefined;
}
export interface RemoveTagsFromResourceMessage {
  ResourceName: string | undefined;
  TagKeys: string[] | undefined;
}
export interface ResetDBClusterParameterGroupMessage {
  DBClusterParameterGroupName: string | undefined;
  ResetAllParameters?: boolean | undefined;
  Parameters?: Parameter[] | undefined;
}
export interface ResetDBParameterGroupMessage {
  DBParameterGroupName: string | undefined;
  ResetAllParameters?: boolean | undefined;
  Parameters?: Parameter[] | undefined;
}
export interface RestoreDBClusterFromS3Message {
  AvailabilityZones?: string[] | undefined;
  BackupRetentionPeriod?: number | undefined;
  CharacterSetName?: string | undefined;
  DatabaseName?: string | undefined;
  DBClusterIdentifier: string | undefined;
  DBClusterParameterGroupName?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  DBSubnetGroupName?: string | undefined;
  Engine: string | undefined;
  EngineVersion?: string | undefined;
  Port?: number | undefined;
  MasterUsername: string | undefined;
  MasterUserPassword?: string | undefined;
  OptionGroupName?: string | undefined;
  PreferredBackupWindow?: string | undefined;
  PreferredMaintenanceWindow?: string | undefined;
  Tags?: Tag[] | undefined;
  StorageEncrypted?: boolean | undefined;
  KmsKeyId?: string | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  SourceEngine: string | undefined;
  SourceEngineVersion: string | undefined;
  S3BucketName: string | undefined;
  S3Prefix?: string | undefined;
  S3IngestionRoleArn: string | undefined;
  BacktrackWindow?: number | undefined;
  EnableCloudwatchLogsExports?: string[] | undefined;
  DeletionProtection?: boolean | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  Domain?: string | undefined;
  DomainIAMRoleName?: string | undefined;
  StorageType?: string | undefined;
  NetworkType?: string | undefined;
  ServerlessV2ScalingConfiguration?: ServerlessV2ScalingConfiguration | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
  EngineLifecycleSupport?: string | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  AssociatedRoles?: DBClusterAssociatedRole[] | undefined;
}
export interface RestoreDBClusterFromS3Result {
  DBCluster?: DBCluster | undefined;
}
export interface RestoreDBClusterFromSnapshotMessage {
  AvailabilityZones?: string[] | undefined;
  DBClusterIdentifier: string | undefined;
  SnapshotIdentifier: string | undefined;
  Engine: string | undefined;
  EngineVersion?: string | undefined;
  Port?: number | undefined;
  DBSubnetGroupName?: string | undefined;
  DatabaseName?: string | undefined;
  OptionGroupName?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  Tags?: Tag[] | undefined;
  KmsKeyId?: string | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  BacktrackWindow?: number | undefined;
  EnableCloudwatchLogsExports?: string[] | undefined;
  EngineMode?: string | undefined;
  ScalingConfiguration?: ScalingConfiguration | undefined;
  DBClusterParameterGroupName?: string | undefined;
  DeletionProtection?: boolean | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  Domain?: string | undefined;
  DomainIAMRoleName?: string | undefined;
  DBClusterInstanceClass?: string | undefined;
  StorageType?: string | undefined;
  Iops?: number | undefined;
  PubliclyAccessible?: boolean | undefined;
  NetworkType?: string | undefined;
  ServerlessV2ScalingConfiguration?: ServerlessV2ScalingConfiguration | undefined;
  RdsCustomClusterConfiguration?: RdsCustomClusterConfiguration | undefined;
  MonitoringInterval?: number | undefined;
  MonitoringRoleArn?: string | undefined;
  EnablePerformanceInsights?: boolean | undefined;
  PerformanceInsightsKMSKeyId?: string | undefined;
  PerformanceInsightsRetentionPeriod?: number | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  EngineLifecycleSupport?: string | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  EnableVPCNetworking?: boolean | undefined;
  EnableInternetAccessGateway?: boolean | undefined;
  AssociatedRoles?: DBClusterAssociatedRole[] | undefined;
}
export interface RestoreDBClusterFromSnapshotResult {
  DBCluster?: DBCluster | undefined;
}
export interface RestoreDBClusterToPointInTimeMessage {
  DBClusterIdentifier: string | undefined;
  RestoreType?: string | undefined;
  SourceDBClusterIdentifier?: string | undefined;
  RestoreToTime?: Date | undefined;
  UseLatestRestorableTime?: boolean | undefined;
  Port?: number | undefined;
  DBSubnetGroupName?: string | undefined;
  OptionGroupName?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  Tags?: Tag[] | undefined;
  KmsKeyId?: string | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  BacktrackWindow?: number | undefined;
  EnableCloudwatchLogsExports?: string[] | undefined;
  DBClusterParameterGroupName?: string | undefined;
  DeletionProtection?: boolean | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  Domain?: string | undefined;
  DomainIAMRoleName?: string | undefined;
  DBClusterInstanceClass?: string | undefined;
  StorageType?: string | undefined;
  PubliclyAccessible?: boolean | undefined;
  Iops?: number | undefined;
  NetworkType?: string | undefined;
  SourceDbClusterResourceId?: string | undefined;
  ServerlessV2ScalingConfiguration?: ServerlessV2ScalingConfiguration | undefined;
  ScalingConfiguration?: ScalingConfiguration | undefined;
  EngineMode?: string | undefined;
  RdsCustomClusterConfiguration?: RdsCustomClusterConfiguration | undefined;
  MonitoringInterval?: number | undefined;
  MonitoringRoleArn?: string | undefined;
  EnablePerformanceInsights?: boolean | undefined;
  PerformanceInsightsKMSKeyId?: string | undefined;
  PerformanceInsightsRetentionPeriod?: number | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  EngineLifecycleSupport?: string | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  EnableVPCNetworking?: boolean | undefined;
  EnableInternetAccessGateway?: boolean | undefined;
  AssociatedRoles?: DBClusterAssociatedRole[] | undefined;
}
export interface RestoreDBClusterToPointInTimeResult {
  DBCluster?: DBCluster | undefined;
}
export interface RestoreDBInstanceFromDBSnapshotMessage {
  DBInstanceIdentifier: string | undefined;
  DBSnapshotIdentifier?: string | undefined;
  DBInstanceClass?: string | undefined;
  Port?: number | undefined;
  AvailabilityZone?: string | undefined;
  DBSubnetGroupName?: string | undefined;
  MultiAZ?: boolean | undefined;
  PubliclyAccessible?: boolean | undefined;
  AutoMinorVersionUpgrade?: boolean | undefined;
  LicenseModel?: string | undefined;
  DBName?: string | undefined;
  Engine?: string | undefined;
  Iops?: number | undefined;
  StorageThroughput?: number | undefined;
  OptionGroupName?: string | undefined;
  Tags?: Tag[] | undefined;
  StorageType?: string | undefined;
  TdeCredentialArn?: string | undefined;
  TdeCredentialPassword?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  Domain?: string | undefined;
  DomainFqdn?: string | undefined;
  DomainOu?: string | undefined;
  DomainAuthSecretArn?: string | undefined;
  DomainDnsIps?: string[] | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  DomainIAMRoleName?: string | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  EnableCloudwatchLogsExports?: string[] | undefined;
  ProcessorFeatures?: ProcessorFeature[] | undefined;
  UseDefaultProcessorFeatures?: boolean | undefined;
  DBParameterGroupName?: string | undefined;
  DeletionProtection?: boolean | undefined;
  EnableCustomerOwnedIp?: boolean | undefined;
  NetworkType?: string | undefined;
  BackupTarget?: string | undefined;
  CustomIamInstanceProfile?: string | undefined;
  AllocatedStorage?: number | undefined;
  DBClusterSnapshotIdentifier?: string | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  DedicatedLogVolume?: boolean | undefined;
  CACertificateIdentifier?: string | undefined;
  EngineLifecycleSupport?: string | undefined;
  AdditionalStorageVolumes?: AdditionalStorageVolume[] | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
}
export interface RestoreDBInstanceFromDBSnapshotResult {
  DBInstance?: DBInstance | undefined;
}
export interface RestoreDBInstanceFromS3Message {
  DBName?: string | undefined;
  DBInstanceIdentifier: string | undefined;
  AllocatedStorage?: number | undefined;
  DBInstanceClass: string | undefined;
  Engine: string | undefined;
  MasterUsername?: string | undefined;
  MasterUserPassword?: string | undefined;
  DBSecurityGroups?: string[] | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  AvailabilityZone?: string | undefined;
  DBSubnetGroupName?: string | undefined;
  PreferredMaintenanceWindow?: string | undefined;
  DBParameterGroupName?: string | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  Port?: number | undefined;
  MultiAZ?: boolean | undefined;
  EngineVersion?: string | undefined;
  AutoMinorVersionUpgrade?: boolean | undefined;
  LicenseModel?: string | undefined;
  Iops?: number | undefined;
  StorageThroughput?: number | undefined;
  OptionGroupName?: string | undefined;
  PubliclyAccessible?: boolean | undefined;
  Tags?: Tag[] | undefined;
  StorageType?: string | undefined;
  StorageEncrypted?: boolean | undefined;
  KmsKeyId?: string | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  MonitoringInterval?: number | undefined;
  MonitoringRoleArn?: string | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  SourceEngine: string | undefined;
  SourceEngineVersion: string | undefined;
  S3BucketName: string | undefined;
  S3Prefix?: string | undefined;
  S3IngestionRoleArn: string | undefined;
  DatabaseInsightsMode?: DatabaseInsightsMode | undefined;
  EnablePerformanceInsights?: boolean | undefined;
  PerformanceInsightsKMSKeyId?: string | undefined;
  PerformanceInsightsRetentionPeriod?: number | undefined;
  EnableCloudwatchLogsExports?: string[] | undefined;
  ProcessorFeatures?: ProcessorFeature[] | undefined;
  UseDefaultProcessorFeatures?: boolean | undefined;
  DeletionProtection?: boolean | undefined;
  MaxAllocatedStorage?: number | undefined;
  NetworkType?: string | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
  DedicatedLogVolume?: boolean | undefined;
  CACertificateIdentifier?: string | undefined;
  EngineLifecycleSupport?: string | undefined;
  AdditionalStorageVolumes?: AdditionalStorageVolume[] | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
}
export interface RestoreDBInstanceFromS3Result {
  DBInstance?: DBInstance | undefined;
}
export interface RestoreDBInstanceToPointInTimeMessage {
  SourceDBInstanceIdentifier?: string | undefined;
  TargetDBInstanceIdentifier: string | undefined;
  RestoreTime?: Date | undefined;
  UseLatestRestorableTime?: boolean | undefined;
  DBInstanceClass?: string | undefined;
  Port?: number | undefined;
  AvailabilityZone?: string | undefined;
  DBSubnetGroupName?: string | undefined;
  MultiAZ?: boolean | undefined;
  PubliclyAccessible?: boolean | undefined;
  AutoMinorVersionUpgrade?: boolean | undefined;
  LicenseModel?: string | undefined;
  DBName?: string | undefined;
  Engine?: string | undefined;
  Iops?: number | undefined;
  StorageThroughput?: number | undefined;
  OptionGroupName?: string | undefined;
  CopyTagsToSnapshot?: boolean | undefined;
  Tags?: Tag[] | undefined;
  StorageType?: string | undefined;
  TdeCredentialArn?: string | undefined;
  TdeCredentialPassword?: string | undefined;
  VpcSecurityGroupIds?: string[] | undefined;
  Domain?: string | undefined;
  DomainIAMRoleName?: string | undefined;
  DomainFqdn?: string | undefined;
  DomainOu?: string | undefined;
  DomainAuthSecretArn?: string | undefined;
  DomainDnsIps?: string[] | undefined;
  EnableIAMDatabaseAuthentication?: boolean | undefined;
  EnableCloudwatchLogsExports?: string[] | undefined;
  ProcessorFeatures?: ProcessorFeature[] | undefined;
  UseDefaultProcessorFeatures?: boolean | undefined;
  DBParameterGroupName?: string | undefined;
  DeletionProtection?: boolean | undefined;
  SourceDbiResourceId?: string | undefined;
  MaxAllocatedStorage?: number | undefined;
  EnableCustomerOwnedIp?: boolean | undefined;
  NetworkType?: string | undefined;
  SourceDBInstanceAutomatedBackupsArn?: string | undefined;
  BackupTarget?: string | undefined;
  CustomIamInstanceProfile?: string | undefined;
  AllocatedStorage?: number | undefined;
  BackupRetentionPeriod?: number | undefined;
  PreferredBackupWindow?: string | undefined;
  DedicatedLogVolume?: boolean | undefined;
  CACertificateIdentifier?: string | undefined;
  EngineLifecycleSupport?: string | undefined;
  AdditionalStorageVolumes?: AdditionalStorageVolume[] | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  ManageMasterUserPassword?: boolean | undefined;
  MasterUserSecretKmsKeyId?: string | undefined;
}
export interface RestoreDBInstanceToPointInTimeResult {
  DBInstance?: DBInstance | undefined;
}
export interface RevokeDBSecurityGroupIngressMessage {
  DBSecurityGroupName: string | undefined;
  CIDRIP?: string | undefined;
  EC2SecurityGroupName?: string | undefined;
  EC2SecurityGroupId?: string | undefined;
  EC2SecurityGroupOwnerId?: string | undefined;
}
export interface RevokeDBSecurityGroupIngressResult {
  DBSecurityGroup?: DBSecurityGroup | undefined;
}
export interface StartActivityStreamRequest {
  ResourceArn: string | undefined;
  Mode: ActivityStreamMode | undefined;
  KmsKeyId: string | undefined;
  ApplyImmediately?: boolean | undefined;
  EngineNativeAuditFieldsIncluded?: boolean | undefined;
}
export interface StartActivityStreamResponse {
  KmsKeyId?: string | undefined;
  KinesisStreamName?: string | undefined;
  Status?: ActivityStreamStatus | undefined;
  Mode?: ActivityStreamMode | undefined;
  EngineNativeAuditFieldsIncluded?: boolean | undefined;
  ApplyImmediately?: boolean | undefined;
}
export interface StartDBClusterMessage {
  DBClusterIdentifier: string | undefined;
}
export interface StartDBClusterResult {
  DBCluster?: DBCluster | undefined;
}
export interface StartDBInstanceMessage {
  DBInstanceIdentifier: string | undefined;
}
export interface StartDBInstanceResult {
  DBInstance?: DBInstance | undefined;
}
export interface StartDBInstanceAutomatedBackupsReplicationMessage {
  SourceDBInstanceArn: string | undefined;
  BackupRetentionPeriod?: number | undefined;
  KmsKeyId?: string | undefined;
  PreSignedUrl?: string | undefined;
  Tags?: Tag[] | undefined;
}
export interface StartDBInstanceAutomatedBackupsReplicationResult {
  DBInstanceAutomatedBackup?: DBInstanceAutomatedBackup | undefined;
}
export interface StartExportTaskMessage {
  ExportTaskIdentifier: string | undefined;
  SourceArn: string | undefined;
  S3BucketName: string | undefined;
  IamRoleArn: string | undefined;
  KmsKeyId: string | undefined;
  S3Prefix?: string | undefined;
  ExportOnly?: string[] | undefined;
}
export interface StopActivityStreamRequest {
  ResourceArn: string | undefined;
  ApplyImmediately?: boolean | undefined;
}
export interface StopActivityStreamResponse {
  KmsKeyId?: string | undefined;
  KinesisStreamName?: string | undefined;
  Status?: ActivityStreamStatus | undefined;
}
export interface StopDBClusterMessage {
  DBClusterIdentifier: string | undefined;
}
export interface StopDBClusterResult {
  DBCluster?: DBCluster | undefined;
}
export interface StopDBInstanceMessage {
  DBInstanceIdentifier: string | undefined;
  DBSnapshotIdentifier?: string | undefined;
}
export interface StopDBInstanceResult {
  DBInstance?: DBInstance | undefined;
}
export interface StopDBInstanceAutomatedBackupsReplicationMessage {
  SourceDBInstanceArn: string | undefined;
}
export interface StopDBInstanceAutomatedBackupsReplicationResult {
  DBInstanceAutomatedBackup?: DBInstanceAutomatedBackup | undefined;
}
export interface SwitchoverBlueGreenDeploymentRequest {
  BlueGreenDeploymentIdentifier: string | undefined;
  SwitchoverTimeout?: number | undefined;
}
export interface SwitchoverBlueGreenDeploymentResponse {
  BlueGreenDeployment?: BlueGreenDeployment | undefined;
}
export interface SwitchoverGlobalClusterMessage {
  GlobalClusterIdentifier: string | undefined;
  TargetDbClusterIdentifier: string | undefined;
}
export interface SwitchoverGlobalClusterResult {
  GlobalCluster?: GlobalCluster | undefined;
}
export interface SwitchoverReadReplicaMessage {
  DBInstanceIdentifier: string | undefined;
}
export interface SwitchoverReadReplicaResult {
  DBInstance?: DBInstance | undefined;
}
