@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Redshift
@version 2012-12-01
@auth AWS SigV4
@endpoints 133
@hint download_for_search
@toc root(133)

@endpoint POST /
@required {ReservedNodeId: str, TargetReservedNodeOfferingId: str}
@returns(200) {ExchangedReservedNode: ReservedNode?{ReservedNodeId: str?, ReservedNodeOfferingId: str?, NodeType: str?, StartTime: str(timestamp)?, Duration: int?, FixedPrice: num(f64)?, UsagePrice: num(f64)?, CurrencyCode: str?, NodeCount: int?, State: str?, OfferingType: str?, RecurringCharges: [RecurringCharge]?, ReservedNodeOfferingType: str?}}

@endpoint POST /
@required {AccountId: str, ClusterIdentifier: str, DatabaseName: str, PartnerName: str}
@returns(200) {DatabaseName: str?, PartnerName: str?}

@endpoint POST /
@required {DataShareArn: str}
@optional {AssociateEntireAccount: bool, ConsumerArn: str, ConsumerRegion: str, AllowWrites: bool}
@returns(200) {DataShareArn: str?, ProducerArn: str?, AllowPubliclyAccessibleConsumers: bool?, DataShareAssociations: [DataShareAssociation]?, ManagedBy: str?}

@endpoint POST /
@required {ClusterSecurityGroupName: str}
@optional {CIDRIP: str, EC2SecurityGroupName: str, EC2SecurityGroupOwnerId: str}
@returns(200) {ClusterSecurityGroup: ClusterSecurityGroup?{ClusterSecurityGroupName: str?, Description: str?, EC2SecurityGroups: [EC2SecurityGroup]?, IPRanges: [IPRange]?, Tags: [Tag]?}}

@endpoint POST /
@required {DataShareArn: str, ConsumerIdentifier: str}
@optional {AllowWrites: bool}
@returns(200) {DataShareArn: str?, ProducerArn: str?, AllowPubliclyAccessibleConsumers: bool?, DataShareAssociations: [DataShareAssociation]?, ManagedBy: str?}

@endpoint POST /
@required {Account: str}
@optional {ClusterIdentifier: str, VpcIds: [str]}
@returns(200) {Grantor: str?, Grantee: str?, ClusterIdentifier: str?, AuthorizeTime: str(timestamp)?, ClusterStatus: str?, Status: str?, AllowedAllVPCs: bool?, AllowedVPCs: [str]?, EndpointCount: int?}

@endpoint POST /
@required {AccountWithRestoreAccess: str}
@optional {SnapshotIdentifier: str, SnapshotArn: str, SnapshotClusterIdentifier: str}
@returns(200) {Snapshot: Snapshot?{SnapshotIdentifier: str?, ClusterIdentifier: str?, SnapshotCreateTime: str(timestamp)?, Status: str?, Port: int?, AvailabilityZone: str?, ClusterCreateTime: str(timestamp)?, MasterUsername: str?, ClusterVersion: str?, EngineFullVersion: str?, SnapshotType: str?, NodeType: str?, NumberOfNodes: int?, DBName: str?, VpcId: str?, Encrypted: bool?, KmsKeyId: str?, EncryptedWithHSM: bool?, AccountsWithRestoreAccess: [AccountWithRestoreAccess]?, OwnerAccount: str?, TotalBackupSizeInMegaBytes: num(f64)?, ActualIncrementalBackupSizeInMegaBytes: num(f64)?, BackupProgressInMegaBytes: num(f64)?, CurrentBackupRateInMegaBytesPerSecond: num(f64)?, EstimatedSecondsToCompletion: int(i64)?, ElapsedTimeInSeconds: int(i64)?, SourceRegion: str?, Tags: [Tag]?, RestorableNodeTypes: [str]?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, ManualSnapshotRetentionPeriod: int?, ManualSnapshotRemainingDays: int?, SnapshotRetentionStartTime: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, SnapshotArn: str?}}

@endpoint POST /
@required {Identifiers: [DeleteClusterSnapshotMessage]}
@returns(200) {Resources: [str]?, Errors: [SnapshotErrorMessage]?}

@endpoint POST /
@required {SnapshotIdentifierList: [str]}
@optional {ManualSnapshotRetentionPeriod: int, Force: bool}
@returns(200) {Resources: [str]?, Errors: [SnapshotErrorMessage]?}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {TargetNodeType: str?, TargetNumberOfNodes: int?, TargetClusterType: str?, Status: str?, ImportTablesCompleted: [str]?, ImportTablesInProgress: [str]?, ImportTablesNotStarted: [str]?, AvgResizeRateInMegaBytesPerSecond: num(f64)?, TotalResizeDataInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ResizeType: str?, Message: str?, TargetEncryptionType: str?, DataTransferProgressPercent: num(f64)?}

@endpoint POST /
@required {SourceSnapshotIdentifier: str, TargetSnapshotIdentifier: str}
@optional {SourceSnapshotClusterIdentifier: str, ManualSnapshotRetentionPeriod: int}
@returns(200) {Snapshot: Snapshot?{SnapshotIdentifier: str?, ClusterIdentifier: str?, SnapshotCreateTime: str(timestamp)?, Status: str?, Port: int?, AvailabilityZone: str?, ClusterCreateTime: str(timestamp)?, MasterUsername: str?, ClusterVersion: str?, EngineFullVersion: str?, SnapshotType: str?, NodeType: str?, NumberOfNodes: int?, DBName: str?, VpcId: str?, Encrypted: bool?, KmsKeyId: str?, EncryptedWithHSM: bool?, AccountsWithRestoreAccess: [AccountWithRestoreAccess]?, OwnerAccount: str?, TotalBackupSizeInMegaBytes: num(f64)?, ActualIncrementalBackupSizeInMegaBytes: num(f64)?, BackupProgressInMegaBytes: num(f64)?, CurrentBackupRateInMegaBytesPerSecond: num(f64)?, EstimatedSecondsToCompletion: int(i64)?, ElapsedTimeInSeconds: int(i64)?, SourceRegion: str?, Tags: [Tag]?, RestorableNodeTypes: [str]?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, ManualSnapshotRetentionPeriod: int?, ManualSnapshotRemainingDays: int?, SnapshotRetentionStartTime: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, SnapshotArn: str?}}

@endpoint POST /
@required {AuthenticationProfileName: str, AuthenticationProfileContent: str}
@returns(200) {AuthenticationProfileName: str?, AuthenticationProfileContent: str?}

@endpoint POST /
@required {ClusterIdentifier: str, NodeType: str, MasterUsername: str}
@optional {DBName: str, ClusterType: str, MasterUserPassword: str, ClusterSecurityGroups: [str], VpcSecurityGroupIds: [str], ClusterSubnetGroupName: str, AvailabilityZone: str, PreferredMaintenanceWindow: str, ClusterParameterGroupName: str, AutomatedSnapshotRetentionPeriod: int, ManualSnapshotRetentionPeriod: int, Port: int, ClusterVersion: str, AllowVersionUpgrade: bool, NumberOfNodes: int, PubliclyAccessible: bool, Encrypted: bool, HsmClientCertificateIdentifier: str, HsmConfigurationIdentifier: str, ElasticIp: str, Tags: [Tag], KmsKeyId: str, EnhancedVpcRouting: bool, AdditionalInfo: str, IamRoles: [str], MaintenanceTrackName: str, SnapshotScheduleIdentifier: str, AvailabilityZoneRelocation: bool, AquaConfigurationStatus: str, DefaultIamRoleArn: str, LoadSampleData: str, ManageMasterPassword: bool, MasterPasswordSecretKmsKeyId: str, IpAddressType: str, MultiAZ: bool, RedshiftIdcApplicationArn: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ParameterGroupName: str, ParameterGroupFamily: str, Description: str}
@optional {Tags: [Tag]}
@returns(200) {ClusterParameterGroup: ClusterParameterGroup?{ParameterGroupName: str?, ParameterGroupFamily: str?, Description: str?, Tags: [Tag]?}}

@endpoint POST /
@required {ClusterSecurityGroupName: str, Description: str}
@optional {Tags: [Tag]}
@returns(200) {ClusterSecurityGroup: ClusterSecurityGroup?{ClusterSecurityGroupName: str?, Description: str?, EC2SecurityGroups: [EC2SecurityGroup]?, IPRanges: [IPRange]?, Tags: [Tag]?}}

@endpoint POST /
@required {SnapshotIdentifier: str, ClusterIdentifier: str}
@optional {ManualSnapshotRetentionPeriod: int, Tags: [Tag]}
@returns(200) {Snapshot: Snapshot?{SnapshotIdentifier: str?, ClusterIdentifier: str?, SnapshotCreateTime: str(timestamp)?, Status: str?, Port: int?, AvailabilityZone: str?, ClusterCreateTime: str(timestamp)?, MasterUsername: str?, ClusterVersion: str?, EngineFullVersion: str?, SnapshotType: str?, NodeType: str?, NumberOfNodes: int?, DBName: str?, VpcId: str?, Encrypted: bool?, KmsKeyId: str?, EncryptedWithHSM: bool?, AccountsWithRestoreAccess: [AccountWithRestoreAccess]?, OwnerAccount: str?, TotalBackupSizeInMegaBytes: num(f64)?, ActualIncrementalBackupSizeInMegaBytes: num(f64)?, BackupProgressInMegaBytes: num(f64)?, CurrentBackupRateInMegaBytesPerSecond: num(f64)?, EstimatedSecondsToCompletion: int(i64)?, ElapsedTimeInSeconds: int(i64)?, SourceRegion: str?, Tags: [Tag]?, RestorableNodeTypes: [str]?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, ManualSnapshotRetentionPeriod: int?, ManualSnapshotRemainingDays: int?, SnapshotRetentionStartTime: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, SnapshotArn: str?}}

@endpoint POST /
@required {ClusterSubnetGroupName: str, Description: str, SubnetIds: [str]}
@optional {Tags: [Tag]}
@returns(200) {ClusterSubnetGroup: ClusterSubnetGroup?{ClusterSubnetGroupName: str?, Description: str?, VpcId: str?, SubnetGroupStatus: str?, Subnets: [Subnet]?, Tags: [Tag]?, SupportedClusterIpAddressTypes: [str]?}}

@endpoint POST /
@required {CustomDomainName: str, CustomDomainCertificateArn: str, ClusterIdentifier: str}
@returns(200) {CustomDomainName: str?, CustomDomainCertificateArn: str?, ClusterIdentifier: str?, CustomDomainCertExpiryTime: str?}

@endpoint POST /
@required {EndpointName: str, SubnetGroupName: str}
@optional {ClusterIdentifier: str, ResourceOwner: str, VpcSecurityGroupIds: [str]}
@returns(200) {ClusterIdentifier: str?, ResourceOwner: str?, SubnetGroupName: str?, EndpointStatus: str?, EndpointName: str?, EndpointCreateTime: str(timestamp)?, Port: int?, Address: str?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, VpcEndpoint: VpcEndpoint?{VpcEndpointId: str?, VpcId: str?, NetworkInterfaces: [NetworkInterface]?}}

@endpoint POST /
@required {SubscriptionName: str, SnsTopicArn: str}
@optional {SourceType: str, SourceIds: [str], EventCategories: [str], Severity: str, Enabled: bool, Tags: [Tag]}
@returns(200) {EventSubscription: EventSubscription?{CustomerAwsId: str?, CustSubscriptionId: str?, SnsTopicArn: str?, Status: str?, SubscriptionCreationTime: str(timestamp)?, SourceType: str?, SourceIdsList: [str]?, EventCategoriesList: [str]?, Severity: str?, Enabled: bool?, Tags: [Tag]?}}

@endpoint POST /
@required {HsmClientCertificateIdentifier: str}
@optional {Tags: [Tag]}
@returns(200) {HsmClientCertificate: HsmClientCertificate?{HsmClientCertificateIdentifier: str?, HsmClientCertificatePublicKey: str?, Tags: [Tag]?}}

@endpoint POST /
@required {HsmConfigurationIdentifier: str, Description: str, HsmIpAddress: str, HsmPartitionName: str, HsmPartitionPassword: str, HsmServerPublicCertificate: str}
@optional {Tags: [Tag]}
@returns(200) {HsmConfiguration: HsmConfiguration?{HsmConfigurationIdentifier: str?, Description: str?, HsmIpAddress: str?, HsmPartitionName: str?, Tags: [Tag]?}}

@endpoint POST /
@required {IdcInstanceArn: str, RedshiftIdcApplicationName: str, IdcDisplayName: str, IamRoleArn: str}
@optional {IdentityNamespace: str, AuthorizedTokenIssuerList: [AuthorizedTokenIssuer], ServiceIntegrations: [ServiceIntegrationsUnion]}
@returns(200) {RedshiftIdcApplication: RedshiftIdcApplication?{IdcInstanceArn: str?, RedshiftIdcApplicationName: str?, RedshiftIdcApplicationArn: str?, IdentityNamespace: str?, IdcDisplayName: str?, IamRoleArn: str?, IdcManagedApplicationArn: str?, IdcOnboardStatus: str?, AuthorizedTokenIssuerList: [AuthorizedTokenIssuer]?, ServiceIntegrations: [ServiceIntegrationsUnion]?}}

@endpoint POST /
@required {ScheduledActionName: str, TargetAction: ScheduledActionType, Schedule: str, IamRole: str}
@optional {ScheduledActionDescription: str, StartTime: str(timestamp), EndTime: str(timestamp), Enable: bool}
@returns(200) {ScheduledActionName: str?, TargetAction: ScheduledActionType?{ResizeCluster: ResizeClusterMessage?{ClusterIdentifier: str, ClusterType: str?, NodeType: str?, NumberOfNodes: int?, Classic: bool?, ReservedNodeId: str?, TargetReservedNodeOfferingId: str?}, PauseCluster: PauseClusterMessage?{ClusterIdentifier: str}, ResumeCluster: ResumeClusterMessage?{ClusterIdentifier: str}}, Schedule: str?, IamRole: str?, ScheduledActionDescription: str?, State: str?, NextInvocations: [str(timestamp)]?, StartTime: str(timestamp)?, EndTime: str(timestamp)?}

@endpoint POST /
@required {SnapshotCopyGrantName: str}
@optional {KmsKeyId: str, Tags: [Tag]}
@returns(200) {SnapshotCopyGrant: SnapshotCopyGrant?{SnapshotCopyGrantName: str?, KmsKeyId: str?, Tags: [Tag]?}}

@endpoint POST /
@optional {ScheduleDefinitions: [str], ScheduleIdentifier: str, ScheduleDescription: str, Tags: [Tag], DryRun: bool, NextInvocations: int}
@returns(200) {ScheduleDefinitions: [str]?, ScheduleIdentifier: str?, ScheduleDescription: str?, Tags: [Tag]?, NextInvocations: [str(timestamp)]?, AssociatedClusterCount: int?, AssociatedClusters: [ClusterAssociatedToSchedule]?}

@endpoint POST /
@required {ResourceName: str, Tags: [Tag]}

@endpoint POST /
@required {ClusterIdentifier: str, FeatureType: str, LimitType: str, Amount: int(i64)}
@optional {Period: str, BreachAction: str, Tags: [Tag]}
@returns(200) {UsageLimitId: str?, ClusterIdentifier: str?, FeatureType: str?, LimitType: str?, Amount: int(i64)?, Period: str?, BreachAction: str?, Tags: [Tag]?}

@endpoint POST /
@required {DataShareArn: str, ConsumerIdentifier: str}
@returns(200) {DataShareArn: str?, ProducerArn: str?, AllowPubliclyAccessibleConsumers: bool?, DataShareAssociations: [DataShareAssociation]?, ManagedBy: str?}

@endpoint POST /
@required {AuthenticationProfileName: str}
@returns(200) {AuthenticationProfileName: str?}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {SkipFinalClusterSnapshot: bool, FinalClusterSnapshotIdentifier: str, FinalClusterSnapshotRetentionPeriod: int}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ParameterGroupName: str}

@endpoint POST /
@required {ClusterSecurityGroupName: str}

@endpoint POST /
@required {SnapshotIdentifier: str}
@optional {SnapshotClusterIdentifier: str}
@returns(200) {Snapshot: Snapshot?{SnapshotIdentifier: str?, ClusterIdentifier: str?, SnapshotCreateTime: str(timestamp)?, Status: str?, Port: int?, AvailabilityZone: str?, ClusterCreateTime: str(timestamp)?, MasterUsername: str?, ClusterVersion: str?, EngineFullVersion: str?, SnapshotType: str?, NodeType: str?, NumberOfNodes: int?, DBName: str?, VpcId: str?, Encrypted: bool?, KmsKeyId: str?, EncryptedWithHSM: bool?, AccountsWithRestoreAccess: [AccountWithRestoreAccess]?, OwnerAccount: str?, TotalBackupSizeInMegaBytes: num(f64)?, ActualIncrementalBackupSizeInMegaBytes: num(f64)?, BackupProgressInMegaBytes: num(f64)?, CurrentBackupRateInMegaBytesPerSecond: num(f64)?, EstimatedSecondsToCompletion: int(i64)?, ElapsedTimeInSeconds: int(i64)?, SourceRegion: str?, Tags: [Tag]?, RestorableNodeTypes: [str]?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, ManualSnapshotRetentionPeriod: int?, ManualSnapshotRemainingDays: int?, SnapshotRetentionStartTime: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, SnapshotArn: str?}}

@endpoint POST /
@required {ClusterSubnetGroupName: str}

@endpoint POST /
@required {ClusterIdentifier: str, CustomDomainName: str}

@endpoint POST /
@required {EndpointName: str}
@returns(200) {ClusterIdentifier: str?, ResourceOwner: str?, SubnetGroupName: str?, EndpointStatus: str?, EndpointName: str?, EndpointCreateTime: str(timestamp)?, Port: int?, Address: str?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, VpcEndpoint: VpcEndpoint?{VpcEndpointId: str?, VpcId: str?, NetworkInterfaces: [NetworkInterface]?}}

@endpoint POST /
@required {SubscriptionName: str}

@endpoint POST /
@required {HsmClientCertificateIdentifier: str}

@endpoint POST /
@required {HsmConfigurationIdentifier: str}

@endpoint POST /
@required {AccountId: str, ClusterIdentifier: str, DatabaseName: str, PartnerName: str}
@returns(200) {DatabaseName: str?, PartnerName: str?}

@endpoint POST /
@required {RedshiftIdcApplicationArn: str}

@endpoint POST /
@required {ResourceArn: str}

@endpoint POST /
@required {ScheduledActionName: str}

@endpoint POST /
@required {SnapshotCopyGrantName: str}

@endpoint POST /
@required {ScheduleIdentifier: str}

@endpoint POST /
@required {ResourceName: str, TagKeys: [str]}

@endpoint POST /
@required {UsageLimitId: str}

@endpoint POST /
@optional {AttributeNames: [str]}
@returns(200) {AccountAttributes: [AccountAttribute]?}

@endpoint POST /
@optional {AuthenticationProfileName: str}
@returns(200) {AuthenticationProfiles: [AuthenticationProfile]?}

@endpoint POST /
@optional {ClusterIdentifier: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, ClusterDbRevisions: [ClusterDbRevision]?}

@endpoint POST /
@optional {ParameterGroupName: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, ParameterGroups: [ClusterParameterGroup]?}

@endpoint POST /
@required {ParameterGroupName: str}
@optional {Source: str, MaxRecords: int, Marker: str}
@returns(200) {Parameters: [Parameter]?, Marker: str?}

@endpoint POST /
@optional {ClusterSecurityGroupName: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, ClusterSecurityGroups: [ClusterSecurityGroup]?}

@endpoint POST /
@optional {ClusterIdentifier: str, SnapshotIdentifier: str, SnapshotArn: str, SnapshotType: str, StartTime: str(timestamp), EndTime: str(timestamp), MaxRecords: int, Marker: str, OwnerAccount: str, TagKeys: [str], TagValues: [str], ClusterExists: bool, SortingEntities: [SnapshotSortingEntity]}
@returns(200) {Marker: str?, Snapshots: [Snapshot]?}

@endpoint POST /
@optional {ClusterSubnetGroupName: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, ClusterSubnetGroups: [ClusterSubnetGroup]?}

@endpoint POST /
@optional {MaintenanceTrackName: str, MaxRecords: int, Marker: str}
@returns(200) {MaintenanceTracks: [MaintenanceTrack]?, Marker: str?}

@endpoint POST /
@optional {ClusterVersion: str, ClusterParameterGroupFamily: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, ClusterVersions: [ClusterVersion]?}

@endpoint POST /
@optional {ClusterIdentifier: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, Clusters: [Cluster]?}

@endpoint POST /
@optional {CustomDomainName: str, CustomDomainCertificateArn: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, Associations: [Association]?}

@endpoint POST /
@optional {DataShareArn: str, MaxRecords: int, Marker: str}
@returns(200) {DataShares: [DataShare]?, Marker: str?}

@endpoint POST /
@optional {ConsumerArn: str, Status: str, MaxRecords: int, Marker: str}
@returns(200) {DataShares: [DataShare]?, Marker: str?}

@endpoint POST /
@optional {ProducerArn: str, Status: str, MaxRecords: int, Marker: str}
@returns(200) {DataShares: [DataShare]?, Marker: str?}

@endpoint POST /
@required {ParameterGroupFamily: str}
@optional {MaxRecords: int, Marker: str}
@returns(200) {DefaultClusterParameters: DefaultClusterParameters?{ParameterGroupFamily: str?, Marker: str?, Parameters: [Parameter]?}}

@endpoint POST /
@optional {ClusterIdentifier: str, ResourceOwner: str, EndpointName: str, VpcId: str, MaxRecords: int, Marker: str}
@returns(200) {EndpointAccessList: [EndpointAccess]?, Marker: str?}

@endpoint POST /
@optional {ClusterIdentifier: str, Account: str, Grantee: bool, MaxRecords: int, Marker: str}
@returns(200) {EndpointAuthorizationList: [EndpointAuthorization]?, Marker: str?}

@endpoint POST /
@optional {SourceType: str}
@returns(200) {EventCategoriesMapList: [EventCategoriesMap]?}

@endpoint POST /
@optional {SubscriptionName: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, EventSubscriptionsList: [EventSubscription]?}

@endpoint POST /
@optional {SourceIdentifier: str, SourceType: str, StartTime: str(timestamp), EndTime: str(timestamp), Duration: int, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, Events: [Event]?}

@endpoint POST /
@optional {HsmClientCertificateIdentifier: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, HsmClientCertificates: [HsmClientCertificate]?}

@endpoint POST /
@optional {HsmConfigurationIdentifier: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, HsmConfigurations: [HsmConfiguration]?}

@endpoint POST /
@optional {IntegrationArn: str, TargetArn: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, InboundIntegrations: [InboundIntegration]?}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {LoggingEnabled: bool?, BucketName: str?, S3KeyPrefix: str?, LastSuccessfulDeliveryTime: str(timestamp)?, LastFailureTime: str(timestamp)?, LastFailureMessage: str?, LogDestinationType: str?, LogExports: [str]?}

@endpoint POST /
@required {ActionType: str}
@optional {ClusterIdentifier: str, SnapshotIdentifier: str, SnapshotArn: str, OwnerAccount: str, Filters: [NodeConfigurationOptionsFilter], Marker: str, MaxRecords: int}
@returns(200) {NodeConfigurationOptionList: [NodeConfigurationOption]?, Marker: str?}

@endpoint POST /
@optional {ClusterVersion: str, NodeType: str, MaxRecords: int, Marker: str}
@returns(200) {OrderableClusterOptions: [OrderableClusterOption]?, Marker: str?}

@endpoint POST /
@required {AccountId: str, ClusterIdentifier: str}
@optional {DatabaseName: str, PartnerName: str}
@returns(200) {PartnerIntegrationInfoList: [PartnerIntegrationInfo]?}

@endpoint POST /
@optional {RedshiftIdcApplicationArn: str, MaxRecords: int, Marker: str}
@returns(200) {RedshiftIdcApplications: [RedshiftIdcApplication]?, Marker: str?}

@endpoint POST /
@optional {ReservedNodeId: str, ReservedNodeExchangeRequestId: str, MaxRecords: int, Marker: str}
@returns(200) {ReservedNodeExchangeStatusDetails: [ReservedNodeExchangeStatus]?, Marker: str?}

@endpoint POST /
@optional {ReservedNodeOfferingId: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, ReservedNodeOfferings: [ReservedNodeOffering]?}

@endpoint POST /
@optional {ReservedNodeId: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, ReservedNodes: [ReservedNode]?}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {TargetNodeType: str?, TargetNumberOfNodes: int?, TargetClusterType: str?, Status: str?, ImportTablesCompleted: [str]?, ImportTablesInProgress: [str]?, ImportTablesNotStarted: [str]?, AvgResizeRateInMegaBytesPerSecond: num(f64)?, TotalResizeDataInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ResizeType: str?, Message: str?, TargetEncryptionType: str?, DataTransferProgressPercent: num(f64)?}

@endpoint POST /
@optional {ScheduledActionName: str, TargetActionType: str, StartTime: str(timestamp), EndTime: str(timestamp), Active: bool, Filters: [ScheduledActionFilter], Marker: str, MaxRecords: int}
@returns(200) {Marker: str?, ScheduledActions: [ScheduledAction]?}

@endpoint POST /
@optional {SnapshotCopyGrantName: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {Marker: str?, SnapshotCopyGrants: [SnapshotCopyGrant]?}

@endpoint POST /
@optional {ClusterIdentifier: str, ScheduleIdentifier: str, TagKeys: [str], TagValues: [str], Marker: str, MaxRecords: int}
@returns(200) {SnapshotSchedules: [SnapshotSchedule]?, Marker: str?}

@endpoint POST /
@returns(200) {TotalBackupSizeInMegaBytes: num(f64)?, TotalProvisionedStorageInMegaBytes: num(f64)?}

@endpoint POST /
@optional {ClusterIdentifier: str, TableRestoreRequestId: str, MaxRecords: int, Marker: str}
@returns(200) {TableRestoreStatusDetails: [TableRestoreStatus]?, Marker: str?}

@endpoint POST /
@optional {ResourceName: str, ResourceType: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {TaggedResources: [TaggedResource]?, Marker: str?}

@endpoint POST /
@optional {UsageLimitId: str, ClusterIdentifier: str, FeatureType: str, MaxRecords: int, Marker: str, TagKeys: [str], TagValues: [str]}
@returns(200) {UsageLimits: [UsageLimit]?, Marker: str?}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {LoggingEnabled: bool?, BucketName: str?, S3KeyPrefix: str?, LastSuccessfulDeliveryTime: str(timestamp)?, LastFailureTime: str(timestamp)?, LastFailureMessage: str?, LogDestinationType: str?, LogExports: [str]?}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {DataShareArn: str}
@optional {DisassociateEntireAccount: bool, ConsumerArn: str, ConsumerRegion: str}
@returns(200) {DataShareArn: str?, ProducerArn: str?, AllowPubliclyAccessibleConsumers: bool?, DataShareAssociations: [DataShareAssociation]?, ManagedBy: str?}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {BucketName: str, S3KeyPrefix: str, LogDestinationType: str, LogExports: [str]}
@returns(200) {LoggingEnabled: bool?, BucketName: str?, S3KeyPrefix: str?, LastSuccessfulDeliveryTime: str(timestamp)?, LastFailureTime: str(timestamp)?, LastFailureMessage: str?, LogDestinationType: str?, LogExports: [str]?}

@endpoint POST /
@required {ClusterIdentifier: str, DestinationRegion: str}
@optional {RetentionPeriod: int, SnapshotCopyGrantName: str, ManualSnapshotRetentionPeriod: int}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {DbUser: str}
@optional {DbName: str, ClusterIdentifier: str, DurationSeconds: int, AutoCreate: bool, DbGroups: [str], CustomDomainName: str}
@returns(200) {DbUser: str?, DbPassword: str?, Expiration: str(timestamp)?}

@endpoint POST /
@optional {DbName: str, ClusterIdentifier: str, DurationSeconds: int, CustomDomainName: str}
@returns(200) {DbUser: str?, DbPassword: str?, Expiration: str(timestamp)?, NextRefreshTime: str(timestamp)?}

@endpoint POST /
@required {ActionType: str}
@optional {ClusterIdentifier: str, SnapshotIdentifier: str, MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, ReservedNodeConfigurationOptionList: [ReservedNodeConfigurationOption]?}

@endpoint POST /
@required {ReservedNodeId: str}
@optional {MaxRecords: int, Marker: str}
@returns(200) {Marker: str?, ReservedNodeOfferings: [ReservedNodeOffering]?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {ResourcePolicy: ResourcePolicy?{ResourceArn: str?, Policy: str?}}

@endpoint POST /
@optional {ClusterIdentifier: str, NamespaceArn: str, MaxRecords: int, Marker: str}
@returns(200) {Recommendations: [Recommendation]?, Marker: str?}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {AquaConfigurationStatus: str}
@returns(200) {AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}}

@endpoint POST /
@required {AuthenticationProfileName: str, AuthenticationProfileContent: str}
@returns(200) {AuthenticationProfileName: str?, AuthenticationProfileContent: str?}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {ClusterType: str, NodeType: str, NumberOfNodes: int, ClusterSecurityGroups: [str], VpcSecurityGroupIds: [str], MasterUserPassword: str, ClusterParameterGroupName: str, AutomatedSnapshotRetentionPeriod: int, ManualSnapshotRetentionPeriod: int, PreferredMaintenanceWindow: str, ClusterVersion: str, AllowVersionUpgrade: bool, HsmClientCertificateIdentifier: str, HsmConfigurationIdentifier: str, NewClusterIdentifier: str, PubliclyAccessible: bool, ElasticIp: str, EnhancedVpcRouting: bool, MaintenanceTrackName: str, Encrypted: bool, KmsKeyId: str, AvailabilityZoneRelocation: bool, AvailabilityZone: str, Port: int, ManageMasterPassword: bool, MasterPasswordSecretKmsKeyId: str, IpAddressType: str, MultiAZ: bool}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterIdentifier: str, RevisionTarget: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {AddIamRoles: [str], RemoveIamRoles: [str], DefaultIamRoleArn: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {DeferMaintenance: bool, DeferMaintenanceIdentifier: str, DeferMaintenanceStartTime: str(timestamp), DeferMaintenanceEndTime: str(timestamp), DeferMaintenanceDuration: int}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ParameterGroupName: str, Parameters: [Parameter]}
@returns(200) {ParameterGroupName: str?, ParameterGroupStatus: str?}

@endpoint POST /
@required {SnapshotIdentifier: str}
@optional {ManualSnapshotRetentionPeriod: int, Force: bool}
@returns(200) {Snapshot: Snapshot?{SnapshotIdentifier: str?, ClusterIdentifier: str?, SnapshotCreateTime: str(timestamp)?, Status: str?, Port: int?, AvailabilityZone: str?, ClusterCreateTime: str(timestamp)?, MasterUsername: str?, ClusterVersion: str?, EngineFullVersion: str?, SnapshotType: str?, NodeType: str?, NumberOfNodes: int?, DBName: str?, VpcId: str?, Encrypted: bool?, KmsKeyId: str?, EncryptedWithHSM: bool?, AccountsWithRestoreAccess: [AccountWithRestoreAccess]?, OwnerAccount: str?, TotalBackupSizeInMegaBytes: num(f64)?, ActualIncrementalBackupSizeInMegaBytes: num(f64)?, BackupProgressInMegaBytes: num(f64)?, CurrentBackupRateInMegaBytesPerSecond: num(f64)?, EstimatedSecondsToCompletion: int(i64)?, ElapsedTimeInSeconds: int(i64)?, SourceRegion: str?, Tags: [Tag]?, RestorableNodeTypes: [str]?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, ManualSnapshotRetentionPeriod: int?, ManualSnapshotRemainingDays: int?, SnapshotRetentionStartTime: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, SnapshotArn: str?}}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {ScheduleIdentifier: str, DisassociateSchedule: bool}

@endpoint POST /
@required {ClusterSubnetGroupName: str, SubnetIds: [str]}
@optional {Description: str}
@returns(200) {ClusterSubnetGroup: ClusterSubnetGroup?{ClusterSubnetGroupName: str?, Description: str?, VpcId: str?, SubnetGroupStatus: str?, Subnets: [Subnet]?, Tags: [Tag]?, SupportedClusterIpAddressTypes: [str]?}}

@endpoint POST /
@required {CustomDomainName: str, CustomDomainCertificateArn: str, ClusterIdentifier: str}
@returns(200) {CustomDomainName: str?, CustomDomainCertificateArn: str?, ClusterIdentifier: str?, CustomDomainCertExpiryTime: str?}

@endpoint POST /
@required {EndpointName: str}
@optional {VpcSecurityGroupIds: [str]}
@returns(200) {ClusterIdentifier: str?, ResourceOwner: str?, SubnetGroupName: str?, EndpointStatus: str?, EndpointName: str?, EndpointCreateTime: str(timestamp)?, Port: int?, Address: str?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, VpcEndpoint: VpcEndpoint?{VpcEndpointId: str?, VpcId: str?, NetworkInterfaces: [NetworkInterface]?}}

@endpoint POST /
@required {SubscriptionName: str}
@optional {SnsTopicArn: str, SourceType: str, SourceIds: [str], EventCategories: [str], Severity: str, Enabled: bool}
@returns(200) {EventSubscription: EventSubscription?{CustomerAwsId: str?, CustSubscriptionId: str?, SnsTopicArn: str?, Status: str?, SubscriptionCreationTime: str(timestamp)?, SourceType: str?, SourceIdsList: [str]?, EventCategoriesList: [str]?, Severity: str?, Enabled: bool?, Tags: [Tag]?}}

@endpoint POST /
@required {RedshiftIdcApplicationArn: str}
@optional {IdentityNamespace: str, IamRoleArn: str, IdcDisplayName: str, AuthorizedTokenIssuerList: [AuthorizedTokenIssuer], ServiceIntegrations: [ServiceIntegrationsUnion]}
@returns(200) {RedshiftIdcApplication: RedshiftIdcApplication?{IdcInstanceArn: str?, RedshiftIdcApplicationName: str?, RedshiftIdcApplicationArn: str?, IdentityNamespace: str?, IdcDisplayName: str?, IamRoleArn: str?, IdcManagedApplicationArn: str?, IdcOnboardStatus: str?, AuthorizedTokenIssuerList: [AuthorizedTokenIssuer]?, ServiceIntegrations: [ServiceIntegrationsUnion]?}}

@endpoint POST /
@required {ScheduledActionName: str}
@optional {TargetAction: ScheduledActionType, Schedule: str, IamRole: str, ScheduledActionDescription: str, StartTime: str(timestamp), EndTime: str(timestamp), Enable: bool}
@returns(200) {ScheduledActionName: str?, TargetAction: ScheduledActionType?{ResizeCluster: ResizeClusterMessage?{ClusterIdentifier: str, ClusterType: str?, NodeType: str?, NumberOfNodes: int?, Classic: bool?, ReservedNodeId: str?, TargetReservedNodeOfferingId: str?}, PauseCluster: PauseClusterMessage?{ClusterIdentifier: str}, ResumeCluster: ResumeClusterMessage?{ClusterIdentifier: str}}, Schedule: str?, IamRole: str?, ScheduledActionDescription: str?, State: str?, NextInvocations: [str(timestamp)]?, StartTime: str(timestamp)?, EndTime: str(timestamp)?}

@endpoint POST /
@required {ClusterIdentifier: str, RetentionPeriod: int}
@optional {Manual: bool}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ScheduleIdentifier: str, ScheduleDefinitions: [str]}
@returns(200) {ScheduleDefinitions: [str]?, ScheduleIdentifier: str?, ScheduleDescription: str?, Tags: [Tag]?, NextInvocations: [str(timestamp)]?, AssociatedClusterCount: int?, AssociatedClusters: [ClusterAssociatedToSchedule]?}

@endpoint POST /
@required {UsageLimitId: str}
@optional {Amount: int(i64), BreachAction: str}
@returns(200) {UsageLimitId: str?, ClusterIdentifier: str?, FeatureType: str?, LimitType: str?, Amount: int(i64)?, Period: str?, BreachAction: str?, Tags: [Tag]?}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ReservedNodeOfferingId: str}
@optional {NodeCount: int}
@returns(200) {ReservedNode: ReservedNode?{ReservedNodeId: str?, ReservedNodeOfferingId: str?, NodeType: str?, StartTime: str(timestamp)?, Duration: int?, FixedPrice: num(f64)?, UsagePrice: num(f64)?, CurrencyCode: str?, NodeCount: int?, State: str?, OfferingType: str?, RecurringCharges: [RecurringCharge]?, ReservedNodeOfferingType: str?}}

@endpoint POST /
@required {ResourceArn: str, Policy: str}
@returns(200) {ResourcePolicy: ResourcePolicy?{ResourceArn: str?, Policy: str?}}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {DataShareArn: str}
@returns(200) {DataShareArn: str?, ProducerArn: str?, AllowPubliclyAccessibleConsumers: bool?, DataShareAssociations: [DataShareAssociation]?, ManagedBy: str?}

@endpoint POST /
@required {ParameterGroupName: str}
@optional {ResetAllParameters: bool, Parameters: [Parameter]}
@returns(200) {ParameterGroupName: str?, ParameterGroupStatus: str?}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {ClusterType: str, NodeType: str, NumberOfNodes: int, Classic: bool, ReservedNodeId: str, TargetReservedNodeOfferingId: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterIdentifier: str}
@optional {SnapshotIdentifier: str, SnapshotArn: str, SnapshotClusterIdentifier: str, Port: int, AvailabilityZone: str, AllowVersionUpgrade: bool, ClusterSubnetGroupName: str, PubliclyAccessible: bool, OwnerAccount: str, HsmClientCertificateIdentifier: str, HsmConfigurationIdentifier: str, ElasticIp: str, ClusterParameterGroupName: str, ClusterSecurityGroups: [str], VpcSecurityGroupIds: [str], PreferredMaintenanceWindow: str, AutomatedSnapshotRetentionPeriod: int, ManualSnapshotRetentionPeriod: int, KmsKeyId: str, NodeType: str, EnhancedVpcRouting: bool, AdditionalInfo: str, IamRoles: [str], MaintenanceTrackName: str, SnapshotScheduleIdentifier: str, NumberOfNodes: int, AvailabilityZoneRelocation: bool, AquaConfigurationStatus: str, DefaultIamRoleArn: str, ReservedNodeId: str, TargetReservedNodeOfferingId: str, Encrypted: bool, ManageMasterPassword: bool, MasterPasswordSecretKmsKeyId: str, IpAddressType: str, MultiAZ: bool}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterIdentifier: str, SnapshotIdentifier: str, SourceDatabaseName: str, SourceTableName: str, NewTableName: str}
@optional {SourceSchemaName: str, TargetDatabaseName: str, TargetSchemaName: str, EnableCaseSensitiveIdentifier: bool}
@returns(200) {TableRestoreStatus: TableRestoreStatus?{TableRestoreRequestId: str?, Status: str?, Message: str?, RequestTime: str(timestamp)?, ProgressInMegaBytes: int(i64)?, TotalDataInMegaBytes: int(i64)?, ClusterIdentifier: str?, SnapshotIdentifier: str?, SourceDatabaseName: str?, SourceSchemaName: str?, SourceTableName: str?, TargetDatabaseName: str?, TargetSchemaName: str?, NewTableName: str?}}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {ClusterSecurityGroupName: str}
@optional {CIDRIP: str, EC2SecurityGroupName: str, EC2SecurityGroupOwnerId: str}
@returns(200) {ClusterSecurityGroup: ClusterSecurityGroup?{ClusterSecurityGroupName: str?, Description: str?, EC2SecurityGroups: [EC2SecurityGroup]?, IPRanges: [IPRange]?, Tags: [Tag]?}}

@endpoint POST /
@optional {ClusterIdentifier: str, Account: str, VpcIds: [str], Force: bool}
@returns(200) {Grantor: str?, Grantee: str?, ClusterIdentifier: str?, AuthorizeTime: str(timestamp)?, ClusterStatus: str?, Status: str?, AllowedAllVPCs: bool?, AllowedVPCs: [str]?, EndpointCount: int?}

@endpoint POST /
@required {AccountWithRestoreAccess: str}
@optional {SnapshotIdentifier: str, SnapshotArn: str, SnapshotClusterIdentifier: str}
@returns(200) {Snapshot: Snapshot?{SnapshotIdentifier: str?, ClusterIdentifier: str?, SnapshotCreateTime: str(timestamp)?, Status: str?, Port: int?, AvailabilityZone: str?, ClusterCreateTime: str(timestamp)?, MasterUsername: str?, ClusterVersion: str?, EngineFullVersion: str?, SnapshotType: str?, NodeType: str?, NumberOfNodes: int?, DBName: str?, VpcId: str?, Encrypted: bool?, KmsKeyId: str?, EncryptedWithHSM: bool?, AccountsWithRestoreAccess: [AccountWithRestoreAccess]?, OwnerAccount: str?, TotalBackupSizeInMegaBytes: num(f64)?, ActualIncrementalBackupSizeInMegaBytes: num(f64)?, BackupProgressInMegaBytes: num(f64)?, CurrentBackupRateInMegaBytesPerSecond: num(f64)?, EstimatedSecondsToCompletion: int(i64)?, ElapsedTimeInSeconds: int(i64)?, SourceRegion: str?, Tags: [Tag]?, RestorableNodeTypes: [str]?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, ManualSnapshotRetentionPeriod: int?, ManualSnapshotRemainingDays: int?, SnapshotRetentionStartTime: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, SnapshotArn: str?}}

@endpoint POST /
@required {ClusterIdentifier: str}
@returns(200) {Cluster: Cluster?{ClusterIdentifier: str?, NodeType: str?, ClusterStatus: str?, ClusterAvailabilityStatus: str?, ModifyStatus: str?, MasterUsername: str?, DBName: str?, Endpoint: Endpoint?{Address: str?, Port: int?, VpcEndpoints: [VpcEndpoint]?}, ClusterCreateTime: str(timestamp)?, AutomatedSnapshotRetentionPeriod: int?, ManualSnapshotRetentionPeriod: int?, ClusterSecurityGroups: [ClusterSecurityGroupMembership]?, VpcSecurityGroups: [VpcSecurityGroupMembership]?, ClusterParameterGroups: [ClusterParameterGroupStatus]?, ClusterSubnetGroupName: str?, VpcId: str?, AvailabilityZone: str?, PreferredMaintenanceWindow: str?, PendingModifiedValues: PendingModifiedValues?{MasterUserPassword: str?, NodeType: str?, NumberOfNodes: int?, ClusterType: str?, ClusterVersion: str?, AutomatedSnapshotRetentionPeriod: int?, ClusterIdentifier: str?, PubliclyAccessible: bool?, EnhancedVpcRouting: bool?, MaintenanceTrackName: str?, EncryptionType: str?}, ClusterVersion: str?, AllowVersionUpgrade: bool?, NumberOfNodes: int?, PubliclyAccessible: bool?, Encrypted: bool?, RestoreStatus: RestoreStatus?{Status: str?, CurrentRestoreRateInMegaBytesPerSecond: num(f64)?, SnapshotSizeInMegaBytes: int(i64)?, ProgressInMegaBytes: int(i64)?, ElapsedTimeInSeconds: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?}, DataTransferProgress: DataTransferProgress?{Status: str?, CurrentRateInMegaBytesPerSecond: num(f64)?, TotalDataInMegaBytes: int(i64)?, DataTransferredInMegaBytes: int(i64)?, EstimatedTimeToCompletionInSeconds: int(i64)?, ElapsedTimeInSeconds: int(i64)?}, HsmStatus: HsmStatus?{HsmClientCertificateIdentifier: str?, HsmConfigurationIdentifier: str?, Status: str?}, ClusterSnapshotCopyStatus: ClusterSnapshotCopyStatus?{DestinationRegion: str?, RetentionPeriod: int(i64)?, ManualSnapshotRetentionPeriod: int?, SnapshotCopyGrantName: str?}, ClusterPublicKey: str?, ClusterNodes: [ClusterNode]?, ElasticIpStatus: ElasticIpStatus?{ElasticIp: str?, Status: str?}, ClusterRevisionNumber: str?, Tags: [Tag]?, KmsKeyId: str?, EnhancedVpcRouting: bool?, IamRoles: [ClusterIamRole]?, PendingActions: [str]?, MaintenanceTrackName: str?, ElasticResizeNumberOfNodeOptions: str?, DeferredMaintenanceWindows: [DeferredMaintenanceWindow]?, SnapshotScheduleIdentifier: str?, SnapshotScheduleState: str?, ExpectedNextSnapshotScheduleTime: str(timestamp)?, ExpectedNextSnapshotScheduleTimeStatus: str?, NextMaintenanceWindowStartTime: str(timestamp)?, ResizeInfo: ResizeInfo?{ResizeType: str?, AllowCancelResize: bool?}, AvailabilityZoneRelocationStatus: str?, ClusterNamespaceArn: str?, TotalStorageCapacityInMegaBytes: int(i64)?, AquaConfiguration: AquaConfiguration?{AquaStatus: str?, AquaConfigurationStatus: str?}, DefaultIamRoleArn: str?, ReservedNodeExchangeStatus: ReservedNodeExchangeStatus?{ReservedNodeExchangeRequestId: str?, Status: str?, RequestTime: str(timestamp)?, SourceReservedNodeId: str?, SourceReservedNodeType: str?, SourceReservedNodeCount: int?, TargetReservedNodeOfferingId: str?, TargetReservedNodeType: str?, TargetReservedNodeCount: int?}, CustomDomainName: str?, CustomDomainCertificateArn: str?, CustomDomainCertificateExpiryDate: str(timestamp)?, MasterPasswordSecretArn: str?, MasterPasswordSecretKmsKeyId: str?, IpAddressType: str?, MultiAZ: str?, MultiAZSecondary: SecondaryClusterInfo?{AvailabilityZone: str?, ClusterNodes: [ClusterNode]?}}}

@endpoint POST /
@required {AccountId: str, ClusterIdentifier: str, DatabaseName: str, PartnerName: str, Status: str}
@optional {StatusMessage: str}
@returns(200) {DatabaseName: str?, PartnerName: str?}

@end
