import { AquaConfigurationStatus, LakehouseIdcRegistration, LakehouseRegistration, NamespaceRegistrationStatus, PartnerIntegrationStatus, UsageLimitBreachAction } from "./enums"; import { type Cluster, type ClusterSecurityGroup, type NamespaceIdentifierUnion, type RedshiftIdcApplication, type ReservedNode, type ResourcePolicy, type ScheduledActionType, type Snapshot, type TableRestoreStatus, AuthorizedTokenIssuer, Parameter, ServiceIntegrationsUnion } from "./models_0"; /** * @public */ export interface ModifyLakehouseConfigurationMessage { /** *
The unique identifier of the cluster whose lakehouse configuration you want to modify.
* @public */ ClusterIdentifier: string | undefined; /** *Specifies whether to register or deregister the cluster with Amazon Redshift federated permissions. Valid values are Register or Deregister.
The name of the Glue data catalog that will be associated with the cluster enabled with Amazon Redshift federated permissions.
*Constraints:
*Must contain at least one lowercase letter.
*Can only contain lowercase letters (a-z), numbers (0-9), underscores (_), and hyphens (-).
*Pattern: ^[a-z0-9_-]*[a-z]+[a-z0-9_-]*$
*
Example: my-catalog_01
*
Modifies the Amazon Web Services IAM Identity Center trusted identity propagation on a cluster enabled with Amazon Redshift federated permissions. Valid values are Associate or Disassociate.
The Amazon Resource Name (ARN) of the IAM Identity Center application used for enabling Amazon Web Services IAM Identity Center trusted identity propagation on a cluster enabled with Amazon Redshift federated permissions.
* @public */ LakehouseIdcApplicationArn?: string | undefined; /** *A boolean value that, if true, validates the request without actually modifying the lakehouse configuration. Use this to check for errors before making changes.
The ARN for the Redshift application that integrates with IAM Identity Center.
* @public */ RedshiftIdcApplicationArn: string | undefined; /** *The namespace for the Amazon Redshift IAM Identity Center application to change. It determines which managed application * verifies the connection token.
* @public */ IdentityNamespace?: string | undefined; /** *The IAM role ARN associated with the Amazon Redshift IAM Identity Center application to change. It has the required permissions * to be assumed and invoke the IDC Identity Center API.
* @public */ IamRoleArn?: string | undefined; /** *The display name for the Amazon Redshift IAM Identity Center application to change. It appears on the console.
* @public */ IdcDisplayName?: string | undefined; /** *The authorized token issuer list for the Amazon Redshift IAM Identity Center application to change.
* @public */ AuthorizedTokenIssuerList?: AuthorizedTokenIssuer[] | undefined; /** *A collection of service integrations associated with the application.
* @public */ ServiceIntegrations?: ServiceIntegrationsUnion[] | undefined; } /** * @public */ export interface ModifyRedshiftIdcApplicationResult { /** *Contains properties for the Redshift IDC application.
* @public */ RedshiftIdcApplication?: RedshiftIdcApplication | undefined; } /** * @public */ export interface ModifyScheduledActionMessage { /** *The name of the scheduled action to modify.
* @public */ ScheduledActionName: string | undefined; /** *A modified JSON format of the scheduled action. * For more information about this parameter, see ScheduledAction.
* @public */ TargetAction?: ScheduledActionType | undefined; /** *A modified schedule in either at( ) or cron( ) format.
* For more information about this parameter, see ScheduledAction.
A different IAM role to assume to run the target action. * For more information about this parameter, see ScheduledAction.
* @public */ IamRole?: string | undefined; /** *A modified description of the scheduled action.
* @public */ ScheduledActionDescription?: string | undefined; /** *A modified start time of the scheduled action. * For more information about this parameter, see ScheduledAction.
* @public */ StartTime?: Date | undefined; /** *A modified end time of the scheduled action. * For more information about this parameter, see ScheduledAction.
* @public */ EndTime?: Date | undefined; /** *A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.
* @public */ Enable?: boolean | undefined; } /** * * @public */ export interface ModifySnapshotCopyRetentionPeriodMessage { /** *The unique identifier of the cluster for which you want to change the retention * period for either automated or manual snapshots that are copied to a destination Amazon Web Services Region.
*Constraints: Must be the valid name of an existing cluster that has cross-region * snapshot copy enabled.
* @public */ ClusterIdentifier: string | undefined; /** *The number of days to retain automated snapshots in the destination Amazon Web Services Region * after they are copied from the source Amazon Web Services Region.
*By default, this only changes the retention period of copied automated snapshots.
*If you decrease the retention period for automated snapshots that are copied to a * destination Amazon Web Services Region, Amazon Redshift deletes any existing automated snapshots that were * copied to the destination Amazon Web Services Region and that fall outside of the new retention * period.
*Constraints: Must be at least 1 and no more than 35 for automated snapshots.
*If you specify the manual option, only newly copied manual snapshots will
* have the new retention period.
If you specify the value of -1 newly copied manual snapshots are retained * indefinitely.
*Constraints: The number of days must be either -1 or an integer between 1 and 3,653 * for manual snapshots.
* @public */ RetentionPeriod: number | undefined; /** *Indicates whether to apply the snapshot retention period to newly copied manual * snapshots instead of automated snapshots.
* @public */ Manual?: boolean | undefined; } /** * @public */ export interface ModifySnapshotCopyRetentionPeriodResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * @public */ export interface ModifySnapshotScheduleMessage { /** *A unique alphanumeric identifier of the schedule to modify.
* @public */ ScheduleIdentifier: string | undefined; /** *An updated list of schedule definitions. A schedule definition is made up of schedule * expressions, for example, "cron(30 12 *)" or "rate(12 hours)".
* @public */ ScheduleDefinitions: string[] | undefined; } /** * @public */ export interface ModifyUsageLimitMessage { /** *The identifier of the usage limit to modify.
* @public */ UsageLimitId: string | undefined; /** *The new limit amount. * For more information about this parameter, see UsageLimit.
* @public */ Amount?: number | undefined; /** *The new action that Amazon Redshift takes when the limit is reached. * For more information about this parameter, see UsageLimit.
* @public */ BreachAction?: UsageLimitBreachAction | undefined; } /** * @public */ export interface PauseClusterResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * * @public */ export interface PurchaseReservedNodeOfferingMessage { /** *The unique identifier of the reserved node offering you want to purchase.
* @public */ ReservedNodeOfferingId: string | undefined; /** *The number of reserved nodes that you want to purchase.
*Default: 1
*
Describes a reserved node. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node * offerings.
* @public */ ReservedNode?: ReservedNode | undefined; } /** * @public */ export interface PutResourcePolicyMessage { /** *The Amazon Resource Name (ARN) of the resource of which its resource policy is updated.
* @public */ ResourceArn: string | undefined; /** *The content of the resource policy being updated.
* @public */ Policy: string | undefined; } /** * @public */ export interface PutResourcePolicyResult { /** *The content of the updated resource policy.
* @public */ ResourcePolicy?: ResourcePolicy | undefined; } /** * * @public */ export interface RebootClusterMessage { /** *The cluster identifier.
* @public */ ClusterIdentifier: string | undefined; } /** * @public */ export interface RebootClusterResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * @public */ export interface RegisterNamespaceInputMessage { /** *The unique identifier of the cluster or * serverless namespace that you want to register.
* @public */ NamespaceIdentifier: NamespaceIdentifierUnion | undefined; /** *An array containing the ID of the consumer account * that you want to register the namespace to.
* @public */ ConsumerIdentifiers: string[] | undefined; } /** * @public */ export interface RegisterNamespaceOutputMessage { /** *The registration status of the cluster or * serverless namespace.
* @public */ Status?: NamespaceRegistrationStatus | undefined; } /** * @public */ export interface RejectDataShareMessage { /** *The Amazon Resource Name (ARN) of the datashare to reject.
* @public */ DataShareArn: string | undefined; } /** * * @public */ export interface ResetClusterParameterGroupMessage { /** *The name of the cluster parameter group to be reset.
* @public */ ParameterGroupName: string | undefined; /** *If true, all parameters in the specified parameter group will be reset
* to their default values.
Default: true
*
An array of names of parameters to be reset. If * ResetAllParameters option is not used, then at least one * parameter name must be supplied.
*Constraints: A maximum of 20 parameters can be reset in a single request.
* @public */ Parameters?: Parameter[] | undefined; } /** * @public */ export interface ResizeClusterResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * * @public */ export interface RestoreFromClusterSnapshotMessage { /** *The identifier of the cluster that will be created from restoring the * snapshot.
*Constraints:
*Must contain from 1 to 63 alphanumeric characters or hyphens.
*Alphabetic characters must be lowercase.
*First character must be a letter.
*Cannot end with a hyphen or contain two consecutive hyphens.
*Must be unique for all clusters within an Amazon Web Services account.
*The name of the snapshot from which to create the new cluster. This parameter isn't
* case sensitive. You must specify this parameter or snapshotArn, but not both.
Example: my-snapshot-id
*
The Amazon Resource Name (ARN) of the snapshot associated with the message to restore from a cluster. You must specify
* this parameter or snapshotIdentifier, but not both.
The name of the cluster the source snapshot was created from. This parameter is * required if your IAM user has a policy containing a snapshot resource element that * specifies anything other than * for the cluster name.
* @public */ SnapshotClusterIdentifier?: string | undefined; /** *The port number on which the cluster accepts connections.
*Default: The same port as the original cluster.
*Valid values: For clusters with DC2 nodes, must be within the range 1150-65535. For clusters with ra3 nodes, must be
* within the ranges 5431-5455 or 8191-8215.
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
*Example: us-east-2a
*
If true, major version upgrades can be applied during the maintenance
* window to the Amazon Redshift engine that is running on the cluster.
Default: true
*
The name of the subnet group where you want to cluster restored.
*A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
* @public */ ClusterSubnetGroupName?: string | undefined; /** *If true, the cluster can be accessed from a public network.
Default: false
* @public */ PubliclyAccessible?: boolean | undefined; /** *The Amazon Web Services account used to create or copy the snapshot. Required if you are * restoring a snapshot you do not own, optional if you own the snapshot.
* @public */ OwnerAccount?: string | undefined; /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to * retrieve the data encryption keys stored in an HSM.
* @public */ HsmClientCertificateIdentifier?: string | undefined; /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
* @public */ HsmConfigurationIdentifier?: string | undefined; /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP address for a publicly * accessible cluster with availability zone relocation turned on.
* @public */ ElasticIp?: string | undefined; /** *The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information about the * default parameter group, go to Working with Amazon * Redshift Parameter Groups.
*Constraints:
*Must be 1 to 255 alphanumeric characters or hyphens.
*First character must be a letter.
*Cannot end with a hyphen or contain two consecutive hyphens.
*A list of security groups to be associated with this cluster.
*Default: The default cluster security group for Amazon Redshift.
*Cluster security groups only apply to clusters outside of VPCs.
* @public */ ClusterSecurityGroups?: string[] | undefined; /** *A list of Virtual Private Cloud (VPC) security groups to be associated with the * cluster.
*Default: The default VPC security group is associated with the cluster.
*VPC security groups only apply to clusters in VPCs.
* @public */ VpcSecurityGroupIds?: string[] | undefined; /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
* Format: ddd:hh24:mi-ddd:hh24:mi
*
Default: The value selected for the cluster from which the snapshot was taken. For * more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.
*Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
*Constraints: Minimum 30-minute window.
* @public */ PreferredMaintenanceWindow?: string | undefined; /** *The number of days that automated snapshots are retained. If the value is 0, * automated snapshots are disabled. Even if automated snapshots are disabled, you can * still create manual snapshots when you want with CreateClusterSnapshot.
*You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days.
*Default: The value selected for the cluster from which the snapshot was * taken.
*Constraints: Must be a value from 0 to 35.
* @public */ AutomatedSnapshotRetentionPeriod?: number | undefined; /** *The default number of days to retain a manual snapshot. If the value is -1, the * snapshot is retained indefinitely. This setting doesn't change the retention period * of existing snapshots.
*The value must be either -1 or an integer between 1 and 3,653.
* @public */ ManualSnapshotRetentionPeriod?: number | undefined; /** *The Key Management Service (KMS) key ID of the encryption key that encrypts data in the cluster * restored from a shared snapshot. You can also provide * the key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you restore from an encrypted * snapshot in the same account in order to change it. In that case, the restored cluster is encrypted * with the new KMS key ID.
* @public */ KmsKeyId?: string | undefined; /** *The node type that the restored cluster will be provisioned with.
*If you have a DC instance type, you * must restore into that same instance type and size. In other words, you can only restore * a dc2.large node type into another dc2 type. For more information about node types, see * * About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.
* @public */ NodeType?: string | undefined; /** *An option that specifies whether to create the cluster with enhanced VPC routing * enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a * VPC. For more information, see Enhanced VPC Routing in * the Amazon Redshift Cluster Management Guide.
*If this option is true, enhanced VPC routing is enabled.
Default: false
* @public */ EnhancedVpcRouting?: boolean | undefined; /** *Reserved.
* @public */ AdditionalInfo?: string | undefined; /** *A list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon * Resource Name (ARN) format.
*The maximum number of IAM roles that you can associate is subject to a quota. * For more information, go to Quotas and limits * in the Amazon Redshift Cluster Management Guide.
* @public */ IamRoles?: string[] | undefined; /** *The name of the maintenance track for the restored cluster. When you take a snapshot,
* the snapshot inherits the MaintenanceTrack value from the cluster. The
* snapshot might be on a different track than the cluster that was the source for the
* snapshot. For example, suppose that you take a snapshot of a cluster that is on the
* current track and then change the cluster to be on the trailing track. In this case, the
* snapshot and the source cluster are on different tracks.
A unique identifier for the snapshot schedule.
* @public */ SnapshotScheduleIdentifier?: string | undefined; /** *The number of nodes specified when provisioning the restored cluster.
* @public */ NumberOfNodes?: number | undefined; /** *The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.
* @public */ AvailabilityZoneRelocation?: boolean | undefined; /** *This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).
* @public */ AquaConfigurationStatus?: AquaConfigurationStatus | undefined; /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was last modified while it was restored from a snapshot.
* @public */ DefaultIamRoleArn?: string | undefined; /** *The identifier of the target reserved node offering.
* @public */ ReservedNodeId?: string | undefined; /** *The identifier of the target reserved node offering.
* @public */ TargetReservedNodeOfferingId?: string | undefined; /** *Enables support for restoring an unencrypted snapshot to a cluster encrypted * with Key Management Service (KMS) and a customer managed key.
* @public */ Encrypted?: boolean | undefined; /** *If true, Amazon Redshift uses Secrets Manager to manage the restored
* cluster's admin credentials. If ManageMasterPassword is false or not set,
* Amazon Redshift uses the admin credentials the cluster had at the time the snapshot was taken.
The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.
* You can only use this parameter if ManageMasterPassword is true.
The IP address type for the cluster. Possible values are ipv4 and dualstack.
If true, the snapshot will be restored to a cluster deployed in two Availability Zones.
* @public */ MultiAZ?: boolean | undefined; /** *The name of the Glue Data Catalog that will be associated with the cluster enabled with Amazon Redshift federated permissions.
*Constraints:
*Must contain at least one lowercase letter.
*Can only contain lowercase letters (a-z), numbers (0-9), underscores (_), and hyphens (-).
*Pattern: ^[a-z0-9_-]*[a-z]+[a-z0-9_-]*$
*
Example: my-catalog_01
*
The Amazon Resource Name (ARN) of the IAM Identity Center application used for enabling Amazon Web Services IAM Identity Center trusted identity propagation on a cluster enabled with Amazon Redshift federated permissions.
* @public */ RedshiftIdcApplicationArn?: string | undefined; } /** * @public */ export interface RestoreFromClusterSnapshotResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * * @public */ export interface RestoreTableFromClusterSnapshotMessage { /** *The identifier of the Amazon Redshift cluster to restore the table to.
* @public */ ClusterIdentifier: string | undefined; /** *The identifier of the snapshot to restore the table from. This snapshot must have
* been created from the Amazon Redshift cluster specified by the
* ClusterIdentifier parameter.
The name of the source database that contains the table to restore from.
* @public */ SourceDatabaseName: string | undefined; /** *The name of the source schema that contains the table to restore from. If you do
* not specify a SourceSchemaName value, the default is
* public.
The name of the source table to restore from.
* @public */ SourceTableName: string | undefined; /** *The name of the database to restore the table to.
* @public */ TargetDatabaseName?: string | undefined; /** *The name of the schema to restore the table to.
* @public */ TargetSchemaName?: string | undefined; /** *The name of the table to create as a result of the current request.
* @public */ NewTableName: string | undefined; /** *Indicates whether name identifiers for database, schema, and table are case sensitive.
* If true, the names are case sensitive.
* If false (default), the names are not case sensitive.
Describes the status of a RestoreTableFromClusterSnapshot * operation.
* @public */ TableRestoreStatus?: TableRestoreStatus | undefined; } /** * @public */ export interface ResumeClusterResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * * @public */ export interface RevokeClusterSecurityGroupIngressMessage { /** *The name of the security Group from which to revoke the ingress rule.
* @public */ ClusterSecurityGroupName: string | undefined; /** *The IP range for which to revoke access. This range must be a valid Classless
* Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified,
* EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be
* provided.
The name of the EC2 Security Group whose access is to be revoked. If
* EC2SecurityGroupName is specified, EC2SecurityGroupOwnerId
* must also be provided and CIDRIP cannot be provided.
The Amazon Web Services account number of the owner of the security group specified in the
* EC2SecurityGroupName parameter. The Amazon Web Services access key ID is not an
* acceptable value. If EC2SecurityGroupOwnerId is specified,
* EC2SecurityGroupName must also be provided. and CIDRIP
* cannot be provided.
Example: 111122223333
*
Describes a security group.
* @public */ ClusterSecurityGroup?: ClusterSecurityGroup | undefined; } /** * @public */ export interface RevokeEndpointAccessMessage { /** *The cluster to revoke access from.
* @public */ ClusterIdentifier?: string | undefined; /** *The Amazon Web Services account ID whose access is to be revoked.
* @public */ Account?: string | undefined; /** *The virtual private cloud (VPC) identifiers for which access is to be revoked.
* @public */ VpcIds?: string[] | undefined; /** *Indicates whether to force the revoke action. * If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.
* @public */ Force?: boolean | undefined; } /** * * @public */ export interface RevokeSnapshotAccessMessage { /** *The identifier of the snapshot that the account can no longer access.
* @public */ SnapshotIdentifier?: string | undefined; /** *The Amazon Resource Name (ARN) of the snapshot associated with the message to revoke access.
* @public */ SnapshotArn?: string | undefined; /** *The identifier of the cluster the snapshot was created from. This parameter is * required if your IAM user has a policy containing a snapshot resource element that * specifies anything other than * for the cluster name.
* @public */ SnapshotClusterIdentifier?: string | undefined; /** *The identifier of the Amazon Web Services account that can no longer restore the specified * snapshot.
* @public */ AccountWithRestoreAccess: string | undefined; } /** * @public */ export interface RevokeSnapshotAccessResult { /** *Describes a snapshot.
* @public */ Snapshot?: Snapshot | undefined; } /** * * @public */ export interface RotateEncryptionKeyMessage { /** *The unique identifier of the cluster that you want to rotate the encryption keys * for.
*Constraints: Must be the name of valid cluster that has encryption * enabled.
* @public */ ClusterIdentifier: string | undefined; } /** * @public */ export interface RotateEncryptionKeyResult { /** *Describes a cluster.
* @public */ Cluster?: Cluster | undefined; } /** * @public */ export interface UpdatePartnerStatusInputMessage { /** *The Amazon Web Services account ID that owns the cluster.
* @public */ AccountId: string | undefined; /** *The cluster identifier of the cluster whose partner integration status is being updated.
* @public */ ClusterIdentifier: string | undefined; /** *The name of the database whose partner integration status is being updated.
* @public */ DatabaseName: string | undefined; /** *The name of the partner whose integration status is being updated.
* @public */ PartnerName: string | undefined; /** *The value of the updated status.
* @public */ Status: PartnerIntegrationStatus | undefined; /** *The status message provided by the partner.
* @public */ StatusMessage?: string | undefined; }