# This file is generated by make.paws. Please do not edit here.
#' @importFrom paws.common get_config new_operation new_request send_request
#' @include redshift_service.R
NULL
#' Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to
#' the configuration (term, payment type, or number of nodes) and no
#' additional costs
#'
#' @description
#' Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to
#' the configuration (term, payment type, or number of nodes) and no
#' additional costs.
#'
#' @usage
#' redshift_accept_reserved_node_exchange(ReservedNodeId,
#' TargetReservedNodeOfferingId)
#'
#' @param ReservedNodeId [required] A string representing the node identifier of the DC1 Reserved Node to be
#' exchanged.
#' @param TargetReservedNodeOfferingId [required] The unique identifier of the DC2 Reserved Node offering to be used for
#' the exchange. You can obtain the value for the parameter by calling
#' [`get_reserved_node_exchange_offerings`][redshift_get_reserved_node_exchange_offerings]
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ExchangedReservedNode = list(
#' ReservedNodeId = "string",
#' ReservedNodeOfferingId = "string",
#' NodeType = "string",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Duration = 123,
#' FixedPrice = 123.0,
#' UsagePrice = 123.0,
#' CurrencyCode = "string",
#' NodeCount = 123,
#' State = "string",
#' OfferingType = "string",
#' RecurringCharges = list(
#' list(
#' RecurringChargeAmount = 123.0,
#' RecurringChargeFrequency = "string"
#' )
#' ),
#' ReservedNodeOfferingType = "Regular"|"Upgradable"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$accept_reserved_node_exchange(
#' ReservedNodeId = "string",
#' TargetReservedNodeOfferingId = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_accept_reserved_node_exchange
redshift_accept_reserved_node_exchange <- function(ReservedNodeId, TargetReservedNodeOfferingId) {
op <- new_operation(
name = "AcceptReservedNodeExchange",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$accept_reserved_node_exchange_input(ReservedNodeId = ReservedNodeId, TargetReservedNodeOfferingId = TargetReservedNodeOfferingId)
output <- .redshift$accept_reserved_node_exchange_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$accept_reserved_node_exchange <- redshift_accept_reserved_node_exchange
#' Adds an inbound (ingress) rule to an Amazon Redshift security group
#'
#' @description
#' Adds an inbound (ingress) rule to an Amazon Redshift security group.
#' Depending on whether the application accessing your cluster is running
#' on the Internet or an Amazon EC2 instance, you can authorize inbound
#' access to either a Classless Interdomain Routing (CIDR)/Internet
#' Protocol (IP) range or to an Amazon EC2 security group. You can add as
#' many as 20 ingress rules to an Amazon Redshift security group.
#'
#' If you authorize access to an Amazon EC2 security group, specify
#' *EC2SecurityGroupName* and *EC2SecurityGroupOwnerId*. The Amazon EC2
#' security group and Amazon Redshift cluster must be in the same AWS
#' Region.
#'
#' If you authorize access to a CIDR/IP address range, specify *CIDRIP*.
#' For an overview of CIDR blocks, see the Wikipedia article on [Classless
#' Inter-Domain
#' Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
#'
#' You must also associate the security group with a cluster so that
#' clients running on these IP addresses or the EC2 instance are authorized
#' to connect to the cluster. For information about managing security
#' groups, go to [Working with Security
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_authorize_cluster_security_group_ingress(
#' ClusterSecurityGroupName, CIDRIP, EC2SecurityGroupName,
#' EC2SecurityGroupOwnerId)
#'
#' @param ClusterSecurityGroupName [required] The name of the security group to which the ingress rule is added.
#' @param CIDRIP The IP range to be added the Amazon Redshift security group.
#' @param EC2SecurityGroupName The EC2 security group to be added the Amazon Redshift security group.
#' @param EC2SecurityGroupOwnerId The AWS account number of the owner of the security group specified by
#' the *EC2SecurityGroupName* parameter. The AWS Access Key ID is not an
#' acceptable value.
#'
#' Example: `111122223333`
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ClusterSecurityGroup = list(
#' ClusterSecurityGroupName = "string",
#' Description = "string",
#' EC2SecurityGroups = list(
#' list(
#' Status = "string",
#' EC2SecurityGroupName = "string",
#' EC2SecurityGroupOwnerId = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' IPRanges = list(
#' list(
#' Status = "string",
#' CIDRIP = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$authorize_cluster_security_group_ingress(
#' ClusterSecurityGroupName = "string",
#' CIDRIP = "string",
#' EC2SecurityGroupName = "string",
#' EC2SecurityGroupOwnerId = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_authorize_cluster_security_group_ingress
redshift_authorize_cluster_security_group_ingress <- function(ClusterSecurityGroupName, CIDRIP = NULL, EC2SecurityGroupName = NULL, EC2SecurityGroupOwnerId = NULL) {
op <- new_operation(
name = "AuthorizeClusterSecurityGroupIngress",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$authorize_cluster_security_group_ingress_input(ClusterSecurityGroupName = ClusterSecurityGroupName, CIDRIP = CIDRIP, EC2SecurityGroupName = EC2SecurityGroupName, EC2SecurityGroupOwnerId = EC2SecurityGroupOwnerId)
output <- .redshift$authorize_cluster_security_group_ingress_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$authorize_cluster_security_group_ingress <- redshift_authorize_cluster_security_group_ingress
#' Authorizes the specified AWS customer account to restore the specified
#' snapshot
#'
#' @description
#' Authorizes the specified AWS customer account to restore the specified
#' snapshot.
#'
#' For more information about working with snapshots, go to [Amazon
#' Redshift
#' Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_authorize_snapshot_access(SnapshotIdentifier,
#' SnapshotClusterIdentifier, AccountWithRestoreAccess)
#'
#' @param SnapshotIdentifier [required] The identifier of the snapshot the account is authorized to restore.
#' @param SnapshotClusterIdentifier 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.
#' @param AccountWithRestoreAccess [required] The identifier of the AWS customer account authorized to restore the
#' specified snapshot.
#'
#' To share a snapshot with AWS support, specify amazon-redshift-support.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Snapshot = list(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' SnapshotCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Status = "string",
#' Port = 123,
#' AvailabilityZone = "string",
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MasterUsername = "string",
#' ClusterVersion = "string",
#' EngineFullVersion = "string",
#' SnapshotType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' DBName = "string",
#' VpcId = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' EncryptedWithHSM = TRUE|FALSE,
#' AccountsWithRestoreAccess = list(
#' list(
#' AccountId = "string",
#' AccountAlias = "string"
#' )
#' ),
#' OwnerAccount = "string",
#' TotalBackupSizeInMegaBytes = 123.0,
#' ActualIncrementalBackupSizeInMegaBytes = 123.0,
#' BackupProgressInMegaBytes = 123.0,
#' CurrentBackupRateInMegaBytesPerSecond = 123.0,
#' EstimatedSecondsToCompletion = 123,
#' ElapsedTimeInSeconds = 123,
#' SourceRegion = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' RestorableNodeTypes = list(
#' "string"
#' ),
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' ManualSnapshotRemainingDays = 123,
#' SnapshotRetentionStartTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$authorize_snapshot_access(
#' SnapshotIdentifier = "string",
#' SnapshotClusterIdentifier = "string",
#' AccountWithRestoreAccess = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_authorize_snapshot_access
redshift_authorize_snapshot_access <- function(SnapshotIdentifier, SnapshotClusterIdentifier = NULL, AccountWithRestoreAccess) {
op <- new_operation(
name = "AuthorizeSnapshotAccess",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$authorize_snapshot_access_input(SnapshotIdentifier = SnapshotIdentifier, SnapshotClusterIdentifier = SnapshotClusterIdentifier, AccountWithRestoreAccess = AccountWithRestoreAccess)
output <- .redshift$authorize_snapshot_access_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$authorize_snapshot_access <- redshift_authorize_snapshot_access
#' Deletes a set of cluster snapshots
#'
#' @description
#' Deletes a set of cluster snapshots.
#'
#' @usage
#' redshift_batch_delete_cluster_snapshots(Identifiers)
#'
#' @param Identifiers [required] A list of identifiers for the snapshots that you want to delete.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Resources = list(
#' "string"
#' ),
#' Errors = list(
#' list(
#' SnapshotIdentifier = "string",
#' SnapshotClusterIdentifier = "string",
#' FailureCode = "string",
#' FailureReason = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$batch_delete_cluster_snapshots(
#' Identifiers = list(
#' list(
#' SnapshotIdentifier = "string",
#' SnapshotClusterIdentifier = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_batch_delete_cluster_snapshots
redshift_batch_delete_cluster_snapshots <- function(Identifiers) {
op <- new_operation(
name = "BatchDeleteClusterSnapshots",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$batch_delete_cluster_snapshots_input(Identifiers = Identifiers)
output <- .redshift$batch_delete_cluster_snapshots_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$batch_delete_cluster_snapshots <- redshift_batch_delete_cluster_snapshots
#' Modifies the settings for a set of cluster snapshots
#'
#' @description
#' Modifies the settings for a set of cluster snapshots.
#'
#' @usage
#' redshift_batch_modify_cluster_snapshots(SnapshotIdentifierList,
#' ManualSnapshotRetentionPeriod, Force)
#'
#' @param SnapshotIdentifierList [required] A list of snapshot identifiers you want to modify.
#' @param ManualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If you specify
#' the value -1, the manual snapshot is retained indefinitely.
#'
#' The number must be either -1 or an integer between 1 and 3,653.
#'
#' If you decrease the manual snapshot retention period from its current
#' value, existing manual snapshots that fall outside of the new retention
#' period will return an error. If you want to suppress the errors and
#' delete the snapshots, use the force option.
#' @param Force A boolean value indicating whether to override an exception if the
#' retention period has passed.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Resources = list(
#' "string"
#' ),
#' Errors = list(
#' list(
#' SnapshotIdentifier = "string",
#' SnapshotClusterIdentifier = "string",
#' FailureCode = "string",
#' FailureReason = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$batch_modify_cluster_snapshots(
#' SnapshotIdentifierList = list(
#' "string"
#' ),
#' ManualSnapshotRetentionPeriod = 123,
#' Force = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_batch_modify_cluster_snapshots
redshift_batch_modify_cluster_snapshots <- function(SnapshotIdentifierList, ManualSnapshotRetentionPeriod = NULL, Force = NULL) {
op <- new_operation(
name = "BatchModifyClusterSnapshots",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$batch_modify_cluster_snapshots_input(SnapshotIdentifierList = SnapshotIdentifierList, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod, Force = Force)
output <- .redshift$batch_modify_cluster_snapshots_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$batch_modify_cluster_snapshots <- redshift_batch_modify_cluster_snapshots
#' Cancels a resize operation for a cluster
#'
#' @description
#' Cancels a resize operation for a cluster.
#'
#' @usage
#' redshift_cancel_resize(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The unique identifier for the cluster that you want to cancel a resize
#' operation for.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' TargetNodeType = "string",
#' TargetNumberOfNodes = 123,
#' TargetClusterType = "string",
#' Status = "string",
#' ImportTablesCompleted = list(
#' "string"
#' ),
#' ImportTablesInProgress = list(
#' "string"
#' ),
#' ImportTablesNotStarted = list(
#' "string"
#' ),
#' AvgResizeRateInMegaBytesPerSecond = 123.0,
#' TotalResizeDataInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ResizeType = "string",
#' Message = "string",
#' TargetEncryptionType = "string",
#' DataTransferProgressPercent = 123.0
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$cancel_resize(
#' ClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_cancel_resize
redshift_cancel_resize <- function(ClusterIdentifier) {
op <- new_operation(
name = "CancelResize",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$cancel_resize_input(ClusterIdentifier = ClusterIdentifier)
output <- .redshift$cancel_resize_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$cancel_resize <- redshift_cancel_resize
#' Copies the specified automated cluster snapshot to a new manual cluster
#' snapshot
#'
#' @description
#' Copies the specified automated cluster snapshot to a new manual cluster
#' snapshot. The source must be an automated snapshot and it must be in the
#' available state.
#'
#' When you delete a cluster, Amazon Redshift deletes any automated
#' snapshots of the cluster. Also, when the retention period of the
#' snapshot expires, Amazon Redshift automatically deletes it. If you want
#' to keep an automated snapshot for a longer period, you can make a manual
#' copy of the snapshot. Manual snapshots are retained until you delete
#' them.
#'
#' For more information about working with snapshots, go to [Amazon
#' Redshift
#' Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_copy_cluster_snapshot(SourceSnapshotIdentifier,
#' SourceSnapshotClusterIdentifier, TargetSnapshotIdentifier,
#' ManualSnapshotRetentionPeriod)
#'
#' @param SourceSnapshotIdentifier [required] The identifier for the source snapshot.
#'
#' Constraints:
#'
#' - Must be the identifier for a valid automated snapshot whose state is
#' `available`.
#' @param SourceSnapshotClusterIdentifier The identifier 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.
#'
#' Constraints:
#'
#' - Must be the identifier for a valid cluster.
#' @param TargetSnapshotIdentifier [required] The identifier given to the new manual snapshot.
#'
#' Constraints:
#'
#' - Cannot be null, empty, or blank.
#'
#' - Must contain from 1 to 255 alphanumeric characters or hyphens.
#'
#' - First character must be a letter.
#'
#' - Cannot end with a hyphen or contain two consecutive hyphens.
#'
#' - Must be unique for the AWS account that is making the request.
#' @param ManualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is
#' -1, the manual snapshot is retained indefinitely.
#'
#' The value must be either -1 or an integer between 1 and 3,653.
#'
#' The default value is -1.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Snapshot = list(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' SnapshotCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Status = "string",
#' Port = 123,
#' AvailabilityZone = "string",
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MasterUsername = "string",
#' ClusterVersion = "string",
#' EngineFullVersion = "string",
#' SnapshotType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' DBName = "string",
#' VpcId = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' EncryptedWithHSM = TRUE|FALSE,
#' AccountsWithRestoreAccess = list(
#' list(
#' AccountId = "string",
#' AccountAlias = "string"
#' )
#' ),
#' OwnerAccount = "string",
#' TotalBackupSizeInMegaBytes = 123.0,
#' ActualIncrementalBackupSizeInMegaBytes = 123.0,
#' BackupProgressInMegaBytes = 123.0,
#' CurrentBackupRateInMegaBytesPerSecond = 123.0,
#' EstimatedSecondsToCompletion = 123,
#' ElapsedTimeInSeconds = 123,
#' SourceRegion = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' RestorableNodeTypes = list(
#' "string"
#' ),
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' ManualSnapshotRemainingDays = 123,
#' SnapshotRetentionStartTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$copy_cluster_snapshot(
#' SourceSnapshotIdentifier = "string",
#' SourceSnapshotClusterIdentifier = "string",
#' TargetSnapshotIdentifier = "string",
#' ManualSnapshotRetentionPeriod = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_copy_cluster_snapshot
redshift_copy_cluster_snapshot <- function(SourceSnapshotIdentifier, SourceSnapshotClusterIdentifier = NULL, TargetSnapshotIdentifier, ManualSnapshotRetentionPeriod = NULL) {
op <- new_operation(
name = "CopyClusterSnapshot",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$copy_cluster_snapshot_input(SourceSnapshotIdentifier = SourceSnapshotIdentifier, SourceSnapshotClusterIdentifier = SourceSnapshotClusterIdentifier, TargetSnapshotIdentifier = TargetSnapshotIdentifier, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod)
output <- .redshift$copy_cluster_snapshot_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$copy_cluster_snapshot <- redshift_copy_cluster_snapshot
#' Creates a new cluster with the specified parameters
#'
#' @description
#' Creates a new cluster with the specified parameters.
#'
#' To create a cluster in Virtual Private Cloud (VPC), you must provide a
#' cluster subnet group name. The cluster subnet group identifies the
#' subnets of your VPC that Amazon Redshift uses when creating the cluster.
#' For more information about managing clusters, go to [Amazon Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_create_cluster(DBName, ClusterIdentifier, ClusterType,
#' NodeType, MasterUsername, MasterUserPassword, ClusterSecurityGroups,
#' VpcSecurityGroupIds, ClusterSubnetGroupName, AvailabilityZone,
#' PreferredMaintenanceWindow, ClusterParameterGroupName,
#' AutomatedSnapshotRetentionPeriod, ManualSnapshotRetentionPeriod, Port,
#' ClusterVersion, AllowVersionUpgrade, NumberOfNodes, PubliclyAccessible,
#' Encrypted, HsmClientCertificateIdentifier, HsmConfigurationIdentifier,
#' ElasticIp, Tags, KmsKeyId, EnhancedVpcRouting, AdditionalInfo, IamRoles,
#' MaintenanceTrackName, SnapshotScheduleIdentifier,
#' AvailabilityZoneRelocation)
#'
#' @param DBName The name of the first database to be created when the cluster is
#' created.
#'
#' To create additional databases after the cluster is created, connect to
#' the cluster with a SQL client and use SQL commands to create a database.
#' For more information, go to [Create a
#' Database](https://docs.aws.amazon.com/redshift/latest/gsg/t_creating_database.html)
#' in the Amazon Redshift Database Developer Guide.
#'
#' Default: `dev`
#'
#' Constraints:
#'
#' - Must contain 1 to 64 alphanumeric characters.
#'
#' - Must contain only lowercase letters.
#'
#' - Cannot be a word that is reserved by the service. A list of reserved
#' words can be found in [Reserved
#' Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
#' in the Amazon Redshift Database Developer Guide.
#' @param ClusterIdentifier [required] A unique identifier for the cluster. You use this identifier to refer to
#' the cluster for any subsequent cluster operations such as deleting or
#' modifying. The identifier also appears in the Amazon Redshift console.
#'
#' 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 AWS account.
#'
#' Example: `myexamplecluster`
#' @param ClusterType The type of the cluster. When cluster type is specified as
#'
#' - `single-node`, the **NumberOfNodes** parameter is not required.
#'
#' - `multi-node`, the **NumberOfNodes** parameter is required.
#'
#' Valid Values: `multi-node` | `single-node`
#'
#' Default: `multi-node`
#' @param NodeType [required] The node type to be provisioned for the cluster. For information about
#' node types, go to [Working with
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' Valid Values: `ds2.xlarge` | `ds2.8xlarge` | `dc1.large` | `dc1.8xlarge`
#' | `dc2.large` | `dc2.8xlarge` | `ra3.xlplus` | `ra3.4xlarge` |
#' `ra3.16xlarge`
#' @param MasterUsername [required] The user name associated with the master user account for the cluster
#' that is being created.
#'
#' Constraints:
#'
#' - Must be 1 - 128 alphanumeric characters. The user name can't be
#' `PUBLIC`.
#'
#' - First character must be a letter.
#'
#' - Cannot be a reserved word. A list of reserved words can be found in
#' [Reserved
#' Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
#' in the Amazon Redshift Database Developer Guide.
#' @param MasterUserPassword [required] The password associated with the master user account for the cluster
#' that is being created.
#'
#' Constraints:
#'
#' - Must be between 8 and 64 characters in length.
#'
#' - Must contain at least one uppercase letter.
#'
#' - Must contain at least one lowercase letter.
#'
#' - Must contain one number.
#'
#' - Can be any printable ASCII character (ASCII code 33 to 126) except '
#' (single quote), " (double quote), \\, /, @@, or space.
#' @param ClusterSecurityGroups A list of security groups to be associated with this cluster.
#'
#' Default: The default cluster security group for Amazon Redshift.
#' @param VpcSecurityGroupIds 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.
#' @param ClusterSubnetGroupName The name of a cluster subnet group to be associated with this cluster.
#'
#' If this parameter is not provided the resulting cluster will be deployed
#' outside virtual private cloud (VPC).
#' @param AvailabilityZone The EC2 Availability Zone (AZ) in which you want Amazon Redshift to
#' provision the cluster. For example, if you have several EC2 instances
#' running in a specific Availability Zone, then you might want the cluster
#' to be provisioned in the same zone in order to decrease network latency.
#'
#' Default: A random, system-chosen Availability Zone in the region that is
#' specified by the endpoint.
#'
#' Example: `us-east-2d`
#'
#' Constraint: The specified Availability Zone must be in the same region
#' as the current endpoint.
#' @param PreferredMaintenanceWindow The weekly time range (in UTC) during which automated cluster
#' maintenance can occur.
#'
#' Format: `ddd:hh24:mi-ddd:hh24:mi`
#'
#' Default: A 30-minute window selected at random from an 8-hour block of
#' time per region, occurring on a random day of the week. For more
#' information about the time blocks for each region, see [Maintenance
#' Windows](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows)
#' in Amazon Redshift Cluster Management Guide.
#'
#' Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
#'
#' Constraints: Minimum 30-minute window.
#' @param ClusterParameterGroupName 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](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#'
#' 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.
#' @param AutomatedSnapshotRetentionPeriod 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
#' [`create_cluster_snapshot`][redshift_create_cluster_snapshot].
#'
#' Default: `1`
#'
#' Constraints: Must be a value from 0 to 35.
#' @param ManualSnapshotRetentionPeriod 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.
#' @param Port The port number on which the cluster accepts incoming connections.
#'
#' The cluster is accessible only via the JDBC and ODBC connection strings.
#' Part of the connection string requires the port on which the cluster
#' will listen for incoming connections.
#'
#' Default: `5439`
#'
#' Valid Values: `1150-65535`
#' @param ClusterVersion The version of the Amazon Redshift engine software that you want to
#' deploy on the cluster.
#'
#' The version selected runs on all the nodes in the cluster.
#'
#' Constraints: Only version 1.0 is currently available.
#'
#' Example: `1.0`
#' @param AllowVersionUpgrade If `true`, major version upgrades can be applied during the maintenance
#' window to the Amazon Redshift engine that is running on the cluster.
#'
#' When a new major version of the Amazon Redshift engine is released, you
#' can request that the service automatically apply upgrades during the
#' maintenance window to the Amazon Redshift engine that is running on your
#' cluster.
#'
#' Default: `true`
#' @param NumberOfNodes The number of compute nodes in the cluster. This parameter is required
#' when the **ClusterType** parameter is specified as `multi-node`.
#'
#' For information about determining how many nodes you need, go to
#' [Working with
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' If you don't specify this parameter, you get a single-node cluster. When
#' requesting a multi-node cluster, you must specify the number of nodes
#' that you want in the cluster.
#'
#' Default: `1`
#'
#' Constraints: Value must be at least 1 and no more than 100.
#' @param PubliclyAccessible If `true`, the cluster can be accessed from a public network.
#' @param Encrypted If `true`, the data in the cluster is encrypted at rest.
#'
#' Default: false
#' @param HsmClientCertificateIdentifier Specifies the name of the HSM client certificate the Amazon Redshift
#' cluster uses to retrieve the data encryption keys stored in an HSM.
#' @param HsmConfigurationIdentifier 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.
#' @param ElasticIp The Elastic IP (EIP) address for the cluster.
#'
#' Constraints: The cluster must be provisioned in EC2-VPC and
#' publicly-accessible through an Internet gateway. For more information
#' about provisioning clusters in EC2-VPC, go to [Supported Platforms to
#' Launch Your
#' Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms)
#' in the Amazon Redshift Cluster Management Guide.
#' @param Tags A list of tag instances.
#' @param KmsKeyId The AWS Key Management Service (KMS) key ID of the encryption key that
#' you want to use to encrypt data in the cluster.
#' @param EnhancedVpcRouting 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](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
#' in the Amazon Redshift Cluster Management Guide.
#'
#' If this option is `true`, enhanced VPC routing is enabled.
#'
#' Default: false
#' @param AdditionalInfo Reserved.
#' @param IamRoles A list of AWS Identity and Access Management (IAM) roles that can be
#' used by the cluster to access other AWS services. You must supply the
#' IAM roles in their Amazon Resource Name (ARN) format. You can supply up
#' to 10 IAM roles in a single request.
#'
#' A cluster can have up to 10 IAM roles associated with it at any time.
#' @param MaintenanceTrackName An optional parameter for the name of the maintenance track for the
#' cluster. If you don't provide a maintenance track name, the cluster is
#' assigned to the `current` track.
#' @param SnapshotScheduleIdentifier A unique identifier for the snapshot schedule.
#' @param AvailabilityZoneRelocation The option to enable relocation for an Amazon Redshift cluster between
#' Availability Zones after the cluster is created.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_cluster(
#' DBName = "string",
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' MasterUsername = "string",
#' MasterUserPassword = "string",
#' ClusterSecurityGroups = list(
#' "string"
#' ),
#' VpcSecurityGroupIds = list(
#' "string"
#' ),
#' ClusterSubnetGroupName = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' ClusterParameterGroupName = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' Port = 123,
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' ElasticIp = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' AdditionalInfo = "string",
#' IamRoles = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' SnapshotScheduleIdentifier = "string",
#' AvailabilityZoneRelocation = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_cluster
redshift_create_cluster <- function(DBName = NULL, ClusterIdentifier, ClusterType = NULL, NodeType, MasterUsername, MasterUserPassword, ClusterSecurityGroups = NULL, VpcSecurityGroupIds = NULL, ClusterSubnetGroupName = NULL, AvailabilityZone = NULL, PreferredMaintenanceWindow = NULL, ClusterParameterGroupName = NULL, AutomatedSnapshotRetentionPeriod = NULL, ManualSnapshotRetentionPeriod = NULL, Port = NULL, ClusterVersion = NULL, AllowVersionUpgrade = NULL, NumberOfNodes = NULL, PubliclyAccessible = NULL, Encrypted = NULL, HsmClientCertificateIdentifier = NULL, HsmConfigurationIdentifier = NULL, ElasticIp = NULL, Tags = NULL, KmsKeyId = NULL, EnhancedVpcRouting = NULL, AdditionalInfo = NULL, IamRoles = NULL, MaintenanceTrackName = NULL, SnapshotScheduleIdentifier = NULL, AvailabilityZoneRelocation = NULL) {
op <- new_operation(
name = "CreateCluster",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_cluster_input(DBName = DBName, ClusterIdentifier = ClusterIdentifier, ClusterType = ClusterType, NodeType = NodeType, MasterUsername = MasterUsername, MasterUserPassword = MasterUserPassword, ClusterSecurityGroups = ClusterSecurityGroups, VpcSecurityGroupIds = VpcSecurityGroupIds, ClusterSubnetGroupName = ClusterSubnetGroupName, AvailabilityZone = AvailabilityZone, PreferredMaintenanceWindow = PreferredMaintenanceWindow, ClusterParameterGroupName = ClusterParameterGroupName, AutomatedSnapshotRetentionPeriod = AutomatedSnapshotRetentionPeriod, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod, Port = Port, ClusterVersion = ClusterVersion, AllowVersionUpgrade = AllowVersionUpgrade, NumberOfNodes = NumberOfNodes, PubliclyAccessible = PubliclyAccessible, Encrypted = Encrypted, HsmClientCertificateIdentifier = HsmClientCertificateIdentifier, HsmConfigurationIdentifier = HsmConfigurationIdentifier, ElasticIp = ElasticIp, Tags = Tags, KmsKeyId = KmsKeyId, EnhancedVpcRouting = EnhancedVpcRouting, AdditionalInfo = AdditionalInfo, IamRoles = IamRoles, MaintenanceTrackName = MaintenanceTrackName, SnapshotScheduleIdentifier = SnapshotScheduleIdentifier, AvailabilityZoneRelocation = AvailabilityZoneRelocation)
output <- .redshift$create_cluster_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_cluster <- redshift_create_cluster
#' Creates an Amazon Redshift parameter group
#'
#' @description
#' Creates an Amazon Redshift parameter group.
#'
#' Creating parameter groups is independent of creating clusters. You can
#' associate a cluster with a parameter group when you create the cluster.
#' You can also associate an existing cluster with a parameter group after
#' the cluster is created by using
#' [`modify_cluster`][redshift_modify_cluster].
#'
#' Parameters in the parameter group define specific behavior that applies
#' to the databases you create on the cluster. For more information about
#' parameters and parameter groups, go to [Amazon Redshift Parameter
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_create_cluster_parameter_group(ParameterGroupName,
#' ParameterGroupFamily, Description, Tags)
#'
#' @param ParameterGroupName [required] The name of the cluster parameter group.
#'
#' 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.
#'
#' - Must be unique withing your AWS account.
#'
#' This value is stored as a lower-case string.
#' @param ParameterGroupFamily [required] The Amazon Redshift engine version to which the cluster parameter group
#' applies. The cluster engine version determines the set of parameters.
#'
#' To get a list of valid parameter group family names, you can call
#' [`describe_cluster_parameter_groups`][redshift_describe_cluster_parameter_groups].
#' By default, Amazon Redshift returns a list of all the parameter groups
#' that are owned by your AWS account, including the default parameter
#' groups for each Amazon Redshift engine version. The parameter group
#' family names associated with the default parameter groups provide you
#' the valid values. For example, a valid family name is "redshift-1.0".
#' @param Description [required] A description of the parameter group.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ClusterParameterGroup = list(
#' ParameterGroupName = "string",
#' ParameterGroupFamily = "string",
#' Description = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_cluster_parameter_group(
#' ParameterGroupName = "string",
#' ParameterGroupFamily = "string",
#' Description = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_cluster_parameter_group
redshift_create_cluster_parameter_group <- function(ParameterGroupName, ParameterGroupFamily, Description, Tags = NULL) {
op <- new_operation(
name = "CreateClusterParameterGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_cluster_parameter_group_input(ParameterGroupName = ParameterGroupName, ParameterGroupFamily = ParameterGroupFamily, Description = Description, Tags = Tags)
output <- .redshift$create_cluster_parameter_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_cluster_parameter_group <- redshift_create_cluster_parameter_group
#' Creates a new Amazon Redshift security group
#'
#' @description
#' Creates a new Amazon Redshift security group. You use security groups to
#' control access to non-VPC clusters.
#'
#' For information about managing security groups, go to [Amazon Redshift
#' Cluster Security
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_create_cluster_security_group(ClusterSecurityGroupName,
#' Description, Tags)
#'
#' @param ClusterSecurityGroupName [required] The name for the security group. Amazon Redshift stores the value as a
#' lowercase string.
#'
#' Constraints:
#'
#' - Must contain no more than 255 alphanumeric characters or hyphens.
#'
#' - Must not be "Default".
#'
#' - Must be unique for all security groups that are created by your AWS
#' account.
#'
#' Example: `examplesecuritygroup`
#' @param Description [required] A description for the security group.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ClusterSecurityGroup = list(
#' ClusterSecurityGroupName = "string",
#' Description = "string",
#' EC2SecurityGroups = list(
#' list(
#' Status = "string",
#' EC2SecurityGroupName = "string",
#' EC2SecurityGroupOwnerId = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' IPRanges = list(
#' list(
#' Status = "string",
#' CIDRIP = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_cluster_security_group(
#' ClusterSecurityGroupName = "string",
#' Description = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_cluster_security_group
redshift_create_cluster_security_group <- function(ClusterSecurityGroupName, Description, Tags = NULL) {
op <- new_operation(
name = "CreateClusterSecurityGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_cluster_security_group_input(ClusterSecurityGroupName = ClusterSecurityGroupName, Description = Description, Tags = Tags)
output <- .redshift$create_cluster_security_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_cluster_security_group <- redshift_create_cluster_security_group
#' Creates a manual snapshot of the specified cluster
#'
#' @description
#' Creates a manual snapshot of the specified cluster. The cluster must be
#' in the `available` state.
#'
#' For more information about working with snapshots, go to [Amazon
#' Redshift
#' Snapshots](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_create_cluster_snapshot(SnapshotIdentifier, ClusterIdentifier,
#' ManualSnapshotRetentionPeriod, Tags)
#'
#' @param SnapshotIdentifier [required] A unique identifier for the snapshot that you are requesting. This
#' identifier must be unique for all snapshots within the AWS account.
#'
#' Constraints:
#'
#' - Cannot be null, empty, or blank
#'
#' - Must contain from 1 to 255 alphanumeric characters or hyphens
#'
#' - First character must be a letter
#'
#' - Cannot end with a hyphen or contain two consecutive hyphens
#'
#' Example: `my-snapshot-id`
#' @param ClusterIdentifier [required] The cluster identifier for which you want a snapshot.
#' @param ManualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is
#' -1, the manual snapshot is retained indefinitely.
#'
#' The value must be either -1 or an integer between 1 and 3,653.
#'
#' The default value is -1.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Snapshot = list(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' SnapshotCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Status = "string",
#' Port = 123,
#' AvailabilityZone = "string",
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MasterUsername = "string",
#' ClusterVersion = "string",
#' EngineFullVersion = "string",
#' SnapshotType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' DBName = "string",
#' VpcId = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' EncryptedWithHSM = TRUE|FALSE,
#' AccountsWithRestoreAccess = list(
#' list(
#' AccountId = "string",
#' AccountAlias = "string"
#' )
#' ),
#' OwnerAccount = "string",
#' TotalBackupSizeInMegaBytes = 123.0,
#' ActualIncrementalBackupSizeInMegaBytes = 123.0,
#' BackupProgressInMegaBytes = 123.0,
#' CurrentBackupRateInMegaBytesPerSecond = 123.0,
#' EstimatedSecondsToCompletion = 123,
#' ElapsedTimeInSeconds = 123,
#' SourceRegion = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' RestorableNodeTypes = list(
#' "string"
#' ),
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' ManualSnapshotRemainingDays = 123,
#' SnapshotRetentionStartTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_cluster_snapshot(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_cluster_snapshot
redshift_create_cluster_snapshot <- function(SnapshotIdentifier, ClusterIdentifier, ManualSnapshotRetentionPeriod = NULL, Tags = NULL) {
op <- new_operation(
name = "CreateClusterSnapshot",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_cluster_snapshot_input(SnapshotIdentifier = SnapshotIdentifier, ClusterIdentifier = ClusterIdentifier, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod, Tags = Tags)
output <- .redshift$create_cluster_snapshot_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_cluster_snapshot <- redshift_create_cluster_snapshot
#' Creates a new Amazon Redshift subnet group
#'
#' @description
#' Creates a new Amazon Redshift subnet group. You must provide a list of
#' one or more subnets in your existing Amazon Virtual Private Cloud
#' (Amazon VPC) when creating Amazon Redshift subnet group.
#'
#' For information about subnet groups, go to [Amazon Redshift Cluster
#' Subnet
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_create_cluster_subnet_group(ClusterSubnetGroupName,
#' Description, SubnetIds, Tags)
#'
#' @param ClusterSubnetGroupName [required] The name for the subnet group. Amazon Redshift stores the value as a
#' lowercase string.
#'
#' Constraints:
#'
#' - Must contain no more than 255 alphanumeric characters or hyphens.
#'
#' - Must not be "Default".
#'
#' - Must be unique for all subnet groups that are created by your AWS
#' account.
#'
#' Example: `examplesubnetgroup`
#' @param Description [required] A description for the subnet group.
#' @param SubnetIds [required] An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a
#' single request.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ClusterSubnetGroup = list(
#' ClusterSubnetGroupName = "string",
#' Description = "string",
#' VpcId = "string",
#' SubnetGroupStatus = "string",
#' Subnets = list(
#' list(
#' SubnetIdentifier = "string",
#' SubnetAvailabilityZone = list(
#' Name = "string",
#' SupportedPlatforms = list(
#' list(
#' Name = "string"
#' )
#' )
#' ),
#' SubnetStatus = "string"
#' )
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_cluster_subnet_group(
#' ClusterSubnetGroupName = "string",
#' Description = "string",
#' SubnetIds = list(
#' "string"
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_cluster_subnet_group
redshift_create_cluster_subnet_group <- function(ClusterSubnetGroupName, Description, SubnetIds, Tags = NULL) {
op <- new_operation(
name = "CreateClusterSubnetGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_cluster_subnet_group_input(ClusterSubnetGroupName = ClusterSubnetGroupName, Description = Description, SubnetIds = SubnetIds, Tags = Tags)
output <- .redshift$create_cluster_subnet_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_cluster_subnet_group <- redshift_create_cluster_subnet_group
#' Creates an Amazon Redshift event notification subscription
#'
#' @description
#' Creates an Amazon Redshift event notification subscription. This action
#' requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by
#' either the Amazon Redshift console, the Amazon SNS console, or the
#' Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a
#' topic in Amazon SNS and subscribe to the topic. The ARN is displayed in
#' the SNS console.
#'
#' You can specify the source type, and lists of Amazon Redshift source
#' IDs, event categories, and event severities. Notifications will be sent
#' for all events you want that match those criteria. For example, you can
#' specify source type = cluster, source ID = my-cluster-1 and mycluster2,
#' event categories = Availability, Backup, and severity = ERROR. The
#' subscription will only send notifications for those ERROR events in the
#' Availability and Backup categories for the specified clusters.
#'
#' If you specify both the source type and source IDs, such as source type
#' = cluster and source identifier = my-cluster-1, notifications will be
#' sent for all the cluster events for my-cluster-1. If you specify a
#' source type but do not specify a source identifier, you will receive
#' notice of the events for the objects of that type in your AWS account.
#' If you do not specify either the SourceType nor the SourceIdentifier,
#' you will be notified of events generated from all Amazon Redshift
#' sources belonging to your AWS account. You must specify a source type if
#' you specify a source ID.
#'
#' @usage
#' redshift_create_event_subscription(SubscriptionName, SnsTopicArn,
#' SourceType, SourceIds, EventCategories, Severity, Enabled, Tags)
#'
#' @param SubscriptionName [required] The name of the event subscription to be created.
#'
#' Constraints:
#'
#' - Cannot be null, empty, or blank.
#'
#' - Must contain from 1 to 255 alphanumeric characters or hyphens.
#'
#' - First character must be a letter.
#'
#' - Cannot end with a hyphen or contain two consecutive hyphens.
#' @param SnsTopicArn [required] The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit
#' the event notifications. The ARN is created by Amazon SNS when you
#' create a topic and subscribe to it.
#' @param SourceType The type of source that will be generating the events. For example, if
#' you want to be notified of events generated by a cluster, you would set
#' this parameter to cluster. If this value is not specified, events are
#' returned for all Amazon Redshift objects in your AWS account. You must
#' specify a source type in order to specify source IDs.
#'
#' Valid values: cluster, cluster-parameter-group, cluster-security-group,
#' cluster-snapshot, and scheduled-action.
#' @param SourceIds A list of one or more identifiers of Amazon Redshift source objects. All
#' of the objects must be of the same type as was specified in the source
#' type parameter. The event subscription will return only events generated
#' by the specified objects. If not specified, then events are returned for
#' all objects within the source type specified.
#'
#' Example: my-cluster-1, my-cluster-2
#'
#' Example: my-snapshot-20131010
#' @param EventCategories Specifies the Amazon Redshift event categories to be published by the
#' event notification subscription.
#'
#' Values: configuration, management, monitoring, security
#' @param Severity Specifies the Amazon Redshift event severity to be published by the
#' event notification subscription.
#'
#' Values: ERROR, INFO
#' @param Enabled A boolean value; set to `true` to activate the subscription, and set to
#' `false` to create the subscription but not activate it.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' EventSubscription = list(
#' CustomerAwsId = "string",
#' CustSubscriptionId = "string",
#' SnsTopicArn = "string",
#' Status = "string",
#' SubscriptionCreationTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' SourceType = "string",
#' SourceIdsList = list(
#' "string"
#' ),
#' EventCategoriesList = list(
#' "string"
#' ),
#' Severity = "string",
#' Enabled = TRUE|FALSE,
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_event_subscription(
#' SubscriptionName = "string",
#' SnsTopicArn = "string",
#' SourceType = "string",
#' SourceIds = list(
#' "string"
#' ),
#' EventCategories = list(
#' "string"
#' ),
#' Severity = "string",
#' Enabled = TRUE|FALSE,
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_event_subscription
redshift_create_event_subscription <- function(SubscriptionName, SnsTopicArn, SourceType = NULL, SourceIds = NULL, EventCategories = NULL, Severity = NULL, Enabled = NULL, Tags = NULL) {
op <- new_operation(
name = "CreateEventSubscription",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_event_subscription_input(SubscriptionName = SubscriptionName, SnsTopicArn = SnsTopicArn, SourceType = SourceType, SourceIds = SourceIds, EventCategories = EventCategories, Severity = Severity, Enabled = Enabled, Tags = Tags)
output <- .redshift$create_event_subscription_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_event_subscription <- redshift_create_event_subscription
#' Creates an HSM client certificate that an Amazon Redshift cluster will
#' use to connect to the client's HSM in order to store and retrieve the
#' keys used to encrypt the cluster databases
#'
#' @description
#' Creates an HSM client certificate that an Amazon Redshift cluster will
#' use to connect to the client's HSM in order to store and retrieve the
#' keys used to encrypt the cluster databases.
#'
#' The command returns a public key, which you must store in the HSM. In
#' addition to creating the HSM certificate, you must create an Amazon
#' Redshift HSM configuration that provides a cluster the information
#' needed to store and use encryption keys in the HSM. For more
#' information, go to [Hardware Security
#' Modules](https://docs.aws.amazon.com/redshift/latest/mgmt/) in the
#' Amazon Redshift Cluster Management Guide.
#'
#' @usage
#' redshift_create_hsm_client_certificate(HsmClientCertificateIdentifier,
#' Tags)
#'
#' @param HsmClientCertificateIdentifier [required] The identifier to be assigned to the new HSM client certificate that the
#' cluster will use to connect to the HSM to use the database encryption
#' keys.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' HsmClientCertificate = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmClientCertificatePublicKey = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_hsm_client_certificate(
#' HsmClientCertificateIdentifier = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_hsm_client_certificate
redshift_create_hsm_client_certificate <- function(HsmClientCertificateIdentifier, Tags = NULL) {
op <- new_operation(
name = "CreateHsmClientCertificate",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_hsm_client_certificate_input(HsmClientCertificateIdentifier = HsmClientCertificateIdentifier, Tags = Tags)
output <- .redshift$create_hsm_client_certificate_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_hsm_client_certificate <- redshift_create_hsm_client_certificate
#' Creates an HSM configuration that contains the information required by
#' an Amazon Redshift cluster to store and use database encryption keys in
#' a Hardware Security Module (HSM)
#'
#' @description
#' Creates an HSM configuration that contains the information required by
#' an Amazon Redshift cluster to store and use database encryption keys in
#' a Hardware Security Module (HSM). After creating the HSM configuration,
#' you can specify it as a parameter when creating a cluster. The cluster
#' will then store its encryption keys in the HSM.
#'
#' In addition to creating an HSM configuration, you must also create an
#' HSM client certificate. For more information, go to [Hardware Security
#' Modules](https://docs.aws.amazon.com/redshift/latest/mgmt/) in the
#' Amazon Redshift Cluster Management Guide.
#'
#' @usage
#' redshift_create_hsm_configuration(HsmConfigurationIdentifier,
#' Description, HsmIpAddress, HsmPartitionName, HsmPartitionPassword,
#' HsmServerPublicCertificate, Tags)
#'
#' @param HsmConfigurationIdentifier [required] The identifier to be assigned to the new Amazon Redshift HSM
#' configuration.
#' @param Description [required] A text description of the HSM configuration to be created.
#' @param HsmIpAddress [required] The IP address that the Amazon Redshift cluster must use to access the
#' HSM.
#' @param HsmPartitionName [required] The name of the partition in the HSM where the Amazon Redshift clusters
#' will store their database encryption keys.
#' @param HsmPartitionPassword [required] The password required to access the HSM partition.
#' @param HsmServerPublicCertificate [required] The HSMs public certificate file. When using Cloud HSM, the file name is
#' server.pem.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' HsmConfiguration = list(
#' HsmConfigurationIdentifier = "string",
#' Description = "string",
#' HsmIpAddress = "string",
#' HsmPartitionName = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_hsm_configuration(
#' HsmConfigurationIdentifier = "string",
#' Description = "string",
#' HsmIpAddress = "string",
#' HsmPartitionName = "string",
#' HsmPartitionPassword = "string",
#' HsmServerPublicCertificate = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_hsm_configuration
redshift_create_hsm_configuration <- function(HsmConfigurationIdentifier, Description, HsmIpAddress, HsmPartitionName, HsmPartitionPassword, HsmServerPublicCertificate, Tags = NULL) {
op <- new_operation(
name = "CreateHsmConfiguration",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_hsm_configuration_input(HsmConfigurationIdentifier = HsmConfigurationIdentifier, Description = Description, HsmIpAddress = HsmIpAddress, HsmPartitionName = HsmPartitionName, HsmPartitionPassword = HsmPartitionPassword, HsmServerPublicCertificate = HsmServerPublicCertificate, Tags = Tags)
output <- .redshift$create_hsm_configuration_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_hsm_configuration <- redshift_create_hsm_configuration
#' Creates a scheduled action
#'
#' @description
#' Creates a scheduled action. A scheduled action contains a schedule and
#' an Amazon Redshift API action. For example, you can create a schedule of
#' when to run the [`resize_cluster`][redshift_resize_cluster] API
#' operation.
#'
#' @usage
#' redshift_create_scheduled_action(ScheduledActionName, TargetAction,
#' Schedule, IamRole, ScheduledActionDescription, StartTime, EndTime,
#' Enable)
#'
#' @param ScheduledActionName [required] The name of the scheduled action. The name must be unique within an
#' account. For more information about this parameter, see ScheduledAction.
#' @param TargetAction [required] A JSON format string of the Amazon Redshift API operation with input
#' parameters. For more information about this parameter, see
#' ScheduledAction.
#' @param Schedule [required] The schedule in `at( )` or `cron( )` format. For more information about
#' this parameter, see ScheduledAction.
#' @param IamRole [required] The IAM role to assume to run the target action. For more information
#' about this parameter, see ScheduledAction.
#' @param ScheduledActionDescription The description of the scheduled action.
#' @param StartTime The start time in UTC of the scheduled action. Before this time, the
#' scheduled action does not trigger. For more information about this
#' parameter, see ScheduledAction.
#' @param EndTime The end time in UTC of the scheduled action. After this time, the
#' scheduled action does not trigger. For more information about this
#' parameter, see ScheduledAction.
#' @param Enable If true, the schedule is enabled. If false, the scheduled action does
#' not trigger. For more information about `state` of the scheduled action,
#' see ScheduledAction.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ScheduledActionName = "string",
#' TargetAction = list(
#' ResizeCluster = list(
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' Classic = TRUE|FALSE
#' ),
#' PauseCluster = list(
#' ClusterIdentifier = "string"
#' ),
#' ResumeCluster = list(
#' ClusterIdentifier = "string"
#' )
#' ),
#' Schedule = "string",
#' IamRole = "string",
#' ScheduledActionDescription = "string",
#' State = "ACTIVE"|"DISABLED",
#' NextInvocations = list(
#' as.POSIXct(
#' "2015-01-01"
#' )
#' ),
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_scheduled_action(
#' ScheduledActionName = "string",
#' TargetAction = list(
#' ResizeCluster = list(
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' Classic = TRUE|FALSE
#' ),
#' PauseCluster = list(
#' ClusterIdentifier = "string"
#' ),
#' ResumeCluster = list(
#' ClusterIdentifier = "string"
#' )
#' ),
#' Schedule = "string",
#' IamRole = "string",
#' ScheduledActionDescription = "string",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Enable = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_scheduled_action
redshift_create_scheduled_action <- function(ScheduledActionName, TargetAction, Schedule, IamRole, ScheduledActionDescription = NULL, StartTime = NULL, EndTime = NULL, Enable = NULL) {
op <- new_operation(
name = "CreateScheduledAction",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_scheduled_action_input(ScheduledActionName = ScheduledActionName, TargetAction = TargetAction, Schedule = Schedule, IamRole = IamRole, ScheduledActionDescription = ScheduledActionDescription, StartTime = StartTime, EndTime = EndTime, Enable = Enable)
output <- .redshift$create_scheduled_action_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_scheduled_action <- redshift_create_scheduled_action
#' Creates a snapshot copy grant that permits Amazon Redshift to use a
#' customer master key (CMK) from AWS Key Management Service (AWS KMS) to
#' encrypt copied snapshots in a destination region
#'
#' @description
#' Creates a snapshot copy grant that permits Amazon Redshift to use a
#' customer master key (CMK) from AWS Key Management Service (AWS KMS) to
#' encrypt copied snapshots in a destination region.
#'
#' For more information about managing snapshot copy grants, go to [Amazon
#' Redshift Database
#' Encryption](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_create_snapshot_copy_grant(SnapshotCopyGrantName, KmsKeyId,
#' Tags)
#'
#' @param SnapshotCopyGrantName [required] The name of the snapshot copy grant. This name must be unique in the
#' region for the AWS account.
#'
#' 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 AWS account.
#' @param KmsKeyId The unique identifier of the customer master key (CMK) to which to grant
#' Amazon Redshift permission. If no key is specified, the default key is
#' used.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' SnapshotCopyGrant = list(
#' SnapshotCopyGrantName = "string",
#' KmsKeyId = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_snapshot_copy_grant(
#' SnapshotCopyGrantName = "string",
#' KmsKeyId = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_snapshot_copy_grant
redshift_create_snapshot_copy_grant <- function(SnapshotCopyGrantName, KmsKeyId = NULL, Tags = NULL) {
op <- new_operation(
name = "CreateSnapshotCopyGrant",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_snapshot_copy_grant_input(SnapshotCopyGrantName = SnapshotCopyGrantName, KmsKeyId = KmsKeyId, Tags = Tags)
output <- .redshift$create_snapshot_copy_grant_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_snapshot_copy_grant <- redshift_create_snapshot_copy_grant
#' Create a snapshot schedule that can be associated to a cluster and which
#' overrides the default system backup schedule
#'
#' @description
#' Create a snapshot schedule that can be associated to a cluster and which
#' overrides the default system backup schedule.
#'
#' @usage
#' redshift_create_snapshot_schedule(ScheduleDefinitions,
#' ScheduleIdentifier, ScheduleDescription, Tags, DryRun, NextInvocations)
#'
#' @param ScheduleDefinitions The definition of the snapshot schedule. The definition is made up of
#' schedule expressions, for example "cron(30 12 *)" or "rate(12 hours)".
#' @param ScheduleIdentifier A unique identifier for a snapshot schedule. Only alphanumeric
#' characters are allowed for the identifier.
#' @param ScheduleDescription The description of the snapshot schedule.
#' @param Tags An optional set of tags you can use to search for the schedule.
#' @param DryRun
#' @param NextInvocations
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ScheduleDefinitions = list(
#' "string"
#' ),
#' ScheduleIdentifier = "string",
#' ScheduleDescription = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' NextInvocations = list(
#' as.POSIXct(
#' "2015-01-01"
#' )
#' ),
#' AssociatedClusterCount = 123,
#' AssociatedClusters = list(
#' list(
#' ClusterIdentifier = "string",
#' ScheduleAssociationState = "MODIFYING"|"ACTIVE"|"FAILED"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_snapshot_schedule(
#' ScheduleDefinitions = list(
#' "string"
#' ),
#' ScheduleIdentifier = "string",
#' ScheduleDescription = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' DryRun = TRUE|FALSE,
#' NextInvocations = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_snapshot_schedule
redshift_create_snapshot_schedule <- function(ScheduleDefinitions = NULL, ScheduleIdentifier = NULL, ScheduleDescription = NULL, Tags = NULL, DryRun = NULL, NextInvocations = NULL) {
op <- new_operation(
name = "CreateSnapshotSchedule",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_snapshot_schedule_input(ScheduleDefinitions = ScheduleDefinitions, ScheduleIdentifier = ScheduleIdentifier, ScheduleDescription = ScheduleDescription, Tags = Tags, DryRun = DryRun, NextInvocations = NextInvocations)
output <- .redshift$create_snapshot_schedule_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_snapshot_schedule <- redshift_create_snapshot_schedule
#' Adds tags to a cluster
#'
#' @description
#' Adds tags to a cluster.
#'
#' A resource can have up to 50 tags. If you try to create more than 50
#' tags for a resource, you will receive an error and the attempt will
#' fail.
#'
#' If you specify a key that already exists for the resource, the value for
#' that key will be updated with the new value.
#'
#' @usage
#' redshift_create_tags(ResourceName, Tags)
#'
#' @param ResourceName [required] The Amazon Resource Name (ARN) to which you want to add the tag or tags.
#' For example, `arn:aws:redshift:us-east-2:123456789:cluster:t1`.
#' @param Tags [required] One or more name/value pairs to add as tags to the specified resource.
#' Each tag name is passed in with the parameter `Key` and the
#' corresponding value is passed in with the parameter `Value`. The `Key`
#' and `Value` parameters are separated by a comma (,). Separate multiple
#' tags with a space. For example,
#' `--tags "Key"="owner","Value"="admin" "Key"="environment","Value"="test" "Key"="version","Value"="1.0"`.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$create_tags(
#' ResourceName = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_tags
redshift_create_tags <- function(ResourceName, Tags) {
op <- new_operation(
name = "CreateTags",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_tags_input(ResourceName = ResourceName, Tags = Tags)
output <- .redshift$create_tags_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_tags <- redshift_create_tags
#' Creates a usage limit for a specified Amazon Redshift feature on a
#' cluster
#'
#' @description
#' Creates a usage limit for a specified Amazon Redshift feature on a
#' cluster. The usage limit is identified by the returned usage limit
#' identifier.
#'
#' @usage
#' redshift_create_usage_limit(ClusterIdentifier, FeatureType, LimitType,
#' Amount, Period, BreachAction, Tags)
#'
#' @param ClusterIdentifier [required] The identifier of the cluster that you want to limit usage.
#' @param FeatureType [required] The Amazon Redshift feature that you want to limit.
#' @param LimitType [required] The type of limit. Depending on the feature type, this can be based on a
#' time duration or data size. If `FeatureType` is `spectrum`, then
#' `LimitType` must be `data-scanned`. If `FeatureType` is
#' `concurrency-scaling`, then `LimitType` must be `time`.
#' @param Amount [required] The limit amount. If time-based, this amount is in minutes. If
#' data-based, this amount is in terabytes (TB). The value must be a
#' positive number.
#' @param Period The time period that the amount applies to. A `weekly` period begins on
#' Sunday. The default is `monthly`.
#' @param BreachAction The action that Amazon Redshift takes when the limit is reached. The
#' default is log. For more information about this parameter, see
#' UsageLimit.
#' @param Tags A list of tag instances.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' UsageLimitId = "string",
#' ClusterIdentifier = "string",
#' FeatureType = "spectrum"|"concurrency-scaling",
#' LimitType = "time"|"data-scanned",
#' Amount = 123,
#' Period = "daily"|"weekly"|"monthly",
#' BreachAction = "log"|"emit-metric"|"disable",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$create_usage_limit(
#' ClusterIdentifier = "string",
#' FeatureType = "spectrum"|"concurrency-scaling",
#' LimitType = "time"|"data-scanned",
#' Amount = 123,
#' Period = "daily"|"weekly"|"monthly",
#' BreachAction = "log"|"emit-metric"|"disable",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_create_usage_limit
redshift_create_usage_limit <- function(ClusterIdentifier, FeatureType, LimitType, Amount, Period = NULL, BreachAction = NULL, Tags = NULL) {
op <- new_operation(
name = "CreateUsageLimit",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$create_usage_limit_input(ClusterIdentifier = ClusterIdentifier, FeatureType = FeatureType, LimitType = LimitType, Amount = Amount, Period = Period, BreachAction = BreachAction, Tags = Tags)
output <- .redshift$create_usage_limit_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$create_usage_limit <- redshift_create_usage_limit
#' Deletes a previously provisioned cluster without its final snapshot
#' being created
#'
#' @description
#' Deletes a previously provisioned cluster without its final snapshot
#' being created. A successful response from the web service indicates that
#' the request was received correctly. Use
#' [`describe_clusters`][redshift_describe_clusters] to monitor the status
#' of the deletion. The delete operation cannot be canceled or reverted
#' once submitted. For more information about managing clusters, go to
#' [Amazon Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' If you want to shut down the cluster and retain it for future use, set
#' *SkipFinalClusterSnapshot* to `false` and specify a name for
#' *FinalClusterSnapshotIdentifier*. You can later restore this snapshot to
#' resume using the cluster. If a final cluster snapshot is requested, the
#' status of the cluster will be "final-snapshot" while the snapshot is
#' being taken, then it's "deleting" once Amazon Redshift begins deleting
#' the cluster.
#'
#' For more information about managing clusters, go to [Amazon Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_delete_cluster(ClusterIdentifier, SkipFinalClusterSnapshot,
#' FinalClusterSnapshotIdentifier, FinalClusterSnapshotRetentionPeriod)
#'
#' @param ClusterIdentifier [required] The identifier of the cluster to be deleted.
#'
#' Constraints:
#'
#' - Must contain lowercase characters.
#'
#' - Must contain from 1 to 63 alphanumeric characters or hyphens.
#'
#' - First character must be a letter.
#'
#' - Cannot end with a hyphen or contain two consecutive hyphens.
#' @param SkipFinalClusterSnapshot Determines whether a final snapshot of the cluster is created before
#' Amazon Redshift deletes the cluster. If `true`, a final cluster snapshot
#' is not created. If `false`, a final cluster snapshot is created before
#' the cluster is deleted.
#'
#' The *FinalClusterSnapshotIdentifier* parameter must be specified if
#' *SkipFinalClusterSnapshot* is `false`.
#'
#' Default: `false`
#' @param FinalClusterSnapshotIdentifier The identifier of the final snapshot that is to be created immediately
#' before deleting the cluster. If this parameter is provided,
#' *SkipFinalClusterSnapshot* must be `false`.
#'
#' Constraints:
#'
#' - Must be 1 to 255 alphanumeric characters.
#'
#' - First character must be a letter.
#'
#' - Cannot end with a hyphen or contain two consecutive hyphens.
#' @param FinalClusterSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is
#' -1, the manual snapshot is retained indefinitely.
#'
#' The value must be either -1 or an integer between 1 and 3,653.
#'
#' The default value is -1.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$delete_cluster(
#' ClusterIdentifier = "string",
#' SkipFinalClusterSnapshot = TRUE|FALSE,
#' FinalClusterSnapshotIdentifier = "string",
#' FinalClusterSnapshotRetentionPeriod = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_cluster
redshift_delete_cluster <- function(ClusterIdentifier, SkipFinalClusterSnapshot = NULL, FinalClusterSnapshotIdentifier = NULL, FinalClusterSnapshotRetentionPeriod = NULL) {
op <- new_operation(
name = "DeleteCluster",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_cluster_input(ClusterIdentifier = ClusterIdentifier, SkipFinalClusterSnapshot = SkipFinalClusterSnapshot, FinalClusterSnapshotIdentifier = FinalClusterSnapshotIdentifier, FinalClusterSnapshotRetentionPeriod = FinalClusterSnapshotRetentionPeriod)
output <- .redshift$delete_cluster_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_cluster <- redshift_delete_cluster
#' Deletes a specified Amazon Redshift parameter group
#'
#' @description
#' Deletes a specified Amazon Redshift parameter group.
#'
#' You cannot delete a parameter group if it is associated with a cluster.
#'
#' @usage
#' redshift_delete_cluster_parameter_group(ParameterGroupName)
#'
#' @param ParameterGroupName [required] The name of the parameter group to be deleted.
#'
#' Constraints:
#'
#' - Must be the name of an existing cluster parameter group.
#'
#' - Cannot delete a default cluster parameter group.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_cluster_parameter_group(
#' ParameterGroupName = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_cluster_parameter_group
redshift_delete_cluster_parameter_group <- function(ParameterGroupName) {
op <- new_operation(
name = "DeleteClusterParameterGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_cluster_parameter_group_input(ParameterGroupName = ParameterGroupName)
output <- .redshift$delete_cluster_parameter_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_cluster_parameter_group <- redshift_delete_cluster_parameter_group
#' Deletes an Amazon Redshift security group
#'
#' @description
#' Deletes an Amazon Redshift security group.
#'
#' You cannot delete a security group that is associated with any clusters.
#' You cannot delete the default security group.
#'
#' For information about managing security groups, go to [Amazon Redshift
#' Cluster Security
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_delete_cluster_security_group(ClusterSecurityGroupName)
#'
#' @param ClusterSecurityGroupName [required] The name of the cluster security group to be deleted.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_cluster_security_group(
#' ClusterSecurityGroupName = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_cluster_security_group
redshift_delete_cluster_security_group <- function(ClusterSecurityGroupName) {
op <- new_operation(
name = "DeleteClusterSecurityGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_cluster_security_group_input(ClusterSecurityGroupName = ClusterSecurityGroupName)
output <- .redshift$delete_cluster_security_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_cluster_security_group <- redshift_delete_cluster_security_group
#' Deletes the specified manual snapshot
#'
#' @description
#' Deletes the specified manual snapshot. The snapshot must be in the
#' `available` state, with no other users authorized to access the
#' snapshot.
#'
#' Unlike automated snapshots, manual snapshots are retained even after you
#' delete your cluster. Amazon Redshift does not delete your manual
#' snapshots. You must delete manual snapshot explicitly to avoid getting
#' charged. If other accounts are authorized to access the snapshot, you
#' must revoke all of the authorizations before you can delete the
#' snapshot.
#'
#' @usage
#' redshift_delete_cluster_snapshot(SnapshotIdentifier,
#' SnapshotClusterIdentifier)
#'
#' @param SnapshotIdentifier [required] The unique identifier of the manual snapshot to be deleted.
#'
#' Constraints: Must be the name of an existing snapshot that is in the
#' `available`, `failed`, or `cancelled` state.
#' @param SnapshotClusterIdentifier The unique 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.
#'
#' Constraints: Must be the name of valid cluster.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Snapshot = list(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' SnapshotCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Status = "string",
#' Port = 123,
#' AvailabilityZone = "string",
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MasterUsername = "string",
#' ClusterVersion = "string",
#' EngineFullVersion = "string",
#' SnapshotType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' DBName = "string",
#' VpcId = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' EncryptedWithHSM = TRUE|FALSE,
#' AccountsWithRestoreAccess = list(
#' list(
#' AccountId = "string",
#' AccountAlias = "string"
#' )
#' ),
#' OwnerAccount = "string",
#' TotalBackupSizeInMegaBytes = 123.0,
#' ActualIncrementalBackupSizeInMegaBytes = 123.0,
#' BackupProgressInMegaBytes = 123.0,
#' CurrentBackupRateInMegaBytesPerSecond = 123.0,
#' EstimatedSecondsToCompletion = 123,
#' ElapsedTimeInSeconds = 123,
#' SourceRegion = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' RestorableNodeTypes = list(
#' "string"
#' ),
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' ManualSnapshotRemainingDays = 123,
#' SnapshotRetentionStartTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$delete_cluster_snapshot(
#' SnapshotIdentifier = "string",
#' SnapshotClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_cluster_snapshot
redshift_delete_cluster_snapshot <- function(SnapshotIdentifier, SnapshotClusterIdentifier = NULL) {
op <- new_operation(
name = "DeleteClusterSnapshot",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_cluster_snapshot_input(SnapshotIdentifier = SnapshotIdentifier, SnapshotClusterIdentifier = SnapshotClusterIdentifier)
output <- .redshift$delete_cluster_snapshot_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_cluster_snapshot <- redshift_delete_cluster_snapshot
#' Deletes the specified cluster subnet group
#'
#' @description
#' Deletes the specified cluster subnet group.
#'
#' @usage
#' redshift_delete_cluster_subnet_group(ClusterSubnetGroupName)
#'
#' @param ClusterSubnetGroupName [required] The name of the cluster subnet group name to be deleted.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_cluster_subnet_group(
#' ClusterSubnetGroupName = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_cluster_subnet_group
redshift_delete_cluster_subnet_group <- function(ClusterSubnetGroupName) {
op <- new_operation(
name = "DeleteClusterSubnetGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_cluster_subnet_group_input(ClusterSubnetGroupName = ClusterSubnetGroupName)
output <- .redshift$delete_cluster_subnet_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_cluster_subnet_group <- redshift_delete_cluster_subnet_group
#' Deletes an Amazon Redshift event notification subscription
#'
#' @description
#' Deletes an Amazon Redshift event notification subscription.
#'
#' @usage
#' redshift_delete_event_subscription(SubscriptionName)
#'
#' @param SubscriptionName [required] The name of the Amazon Redshift event notification subscription to be
#' deleted.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_event_subscription(
#' SubscriptionName = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_event_subscription
redshift_delete_event_subscription <- function(SubscriptionName) {
op <- new_operation(
name = "DeleteEventSubscription",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_event_subscription_input(SubscriptionName = SubscriptionName)
output <- .redshift$delete_event_subscription_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_event_subscription <- redshift_delete_event_subscription
#' Deletes the specified HSM client certificate
#'
#' @description
#' Deletes the specified HSM client certificate.
#'
#' @usage
#' redshift_delete_hsm_client_certificate(HsmClientCertificateIdentifier)
#'
#' @param HsmClientCertificateIdentifier [required] The identifier of the HSM client certificate to be deleted.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_hsm_client_certificate(
#' HsmClientCertificateIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_hsm_client_certificate
redshift_delete_hsm_client_certificate <- function(HsmClientCertificateIdentifier) {
op <- new_operation(
name = "DeleteHsmClientCertificate",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_hsm_client_certificate_input(HsmClientCertificateIdentifier = HsmClientCertificateIdentifier)
output <- .redshift$delete_hsm_client_certificate_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_hsm_client_certificate <- redshift_delete_hsm_client_certificate
#' Deletes the specified Amazon Redshift HSM configuration
#'
#' @description
#' Deletes the specified Amazon Redshift HSM configuration.
#'
#' @usage
#' redshift_delete_hsm_configuration(HsmConfigurationIdentifier)
#'
#' @param HsmConfigurationIdentifier [required] The identifier of the Amazon Redshift HSM configuration to be deleted.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_hsm_configuration(
#' HsmConfigurationIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_hsm_configuration
redshift_delete_hsm_configuration <- function(HsmConfigurationIdentifier) {
op <- new_operation(
name = "DeleteHsmConfiguration",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_hsm_configuration_input(HsmConfigurationIdentifier = HsmConfigurationIdentifier)
output <- .redshift$delete_hsm_configuration_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_hsm_configuration <- redshift_delete_hsm_configuration
#' Deletes a scheduled action
#'
#' @description
#' Deletes a scheduled action.
#'
#' @usage
#' redshift_delete_scheduled_action(ScheduledActionName)
#'
#' @param ScheduledActionName [required] The name of the scheduled action to delete.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_scheduled_action(
#' ScheduledActionName = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_scheduled_action
redshift_delete_scheduled_action <- function(ScheduledActionName) {
op <- new_operation(
name = "DeleteScheduledAction",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_scheduled_action_input(ScheduledActionName = ScheduledActionName)
output <- .redshift$delete_scheduled_action_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_scheduled_action <- redshift_delete_scheduled_action
#' Deletes the specified snapshot copy grant
#'
#' @description
#' Deletes the specified snapshot copy grant.
#'
#' @usage
#' redshift_delete_snapshot_copy_grant(SnapshotCopyGrantName)
#'
#' @param SnapshotCopyGrantName [required] The name of the snapshot copy grant to delete.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_snapshot_copy_grant(
#' SnapshotCopyGrantName = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_snapshot_copy_grant
redshift_delete_snapshot_copy_grant <- function(SnapshotCopyGrantName) {
op <- new_operation(
name = "DeleteSnapshotCopyGrant",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_snapshot_copy_grant_input(SnapshotCopyGrantName = SnapshotCopyGrantName)
output <- .redshift$delete_snapshot_copy_grant_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_snapshot_copy_grant <- redshift_delete_snapshot_copy_grant
#' Deletes a snapshot schedule
#'
#' @description
#' Deletes a snapshot schedule.
#'
#' @usage
#' redshift_delete_snapshot_schedule(ScheduleIdentifier)
#'
#' @param ScheduleIdentifier [required] A unique identifier of the snapshot schedule to delete.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_snapshot_schedule(
#' ScheduleIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_snapshot_schedule
redshift_delete_snapshot_schedule <- function(ScheduleIdentifier) {
op <- new_operation(
name = "DeleteSnapshotSchedule",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_snapshot_schedule_input(ScheduleIdentifier = ScheduleIdentifier)
output <- .redshift$delete_snapshot_schedule_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_snapshot_schedule <- redshift_delete_snapshot_schedule
#' Deletes tags from a resource
#'
#' @description
#' Deletes tags from a resource. You must provide the ARN of the resource
#' from which you want to delete the tag or tags.
#'
#' @usage
#' redshift_delete_tags(ResourceName, TagKeys)
#'
#' @param ResourceName [required] The Amazon Resource Name (ARN) from which you want to remove the tag or
#' tags. For example, `arn:aws:redshift:us-east-2:123456789:cluster:t1`.
#' @param TagKeys [required] The tag key that you want to delete.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_tags(
#' ResourceName = "string",
#' TagKeys = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_tags
redshift_delete_tags <- function(ResourceName, TagKeys) {
op <- new_operation(
name = "DeleteTags",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_tags_input(ResourceName = ResourceName, TagKeys = TagKeys)
output <- .redshift$delete_tags_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_tags <- redshift_delete_tags
#' Deletes a usage limit from a cluster
#'
#' @description
#' Deletes a usage limit from a cluster.
#'
#' @usage
#' redshift_delete_usage_limit(UsageLimitId)
#'
#' @param UsageLimitId [required] The identifier of the usage limit to delete.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$delete_usage_limit(
#' UsageLimitId = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_delete_usage_limit
redshift_delete_usage_limit <- function(UsageLimitId) {
op <- new_operation(
name = "DeleteUsageLimit",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$delete_usage_limit_input(UsageLimitId = UsageLimitId)
output <- .redshift$delete_usage_limit_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$delete_usage_limit <- redshift_delete_usage_limit
#' Returns a list of attributes attached to an account
#'
#' @description
#' Returns a list of attributes attached to an account
#'
#' @usage
#' redshift_describe_account_attributes(AttributeNames)
#'
#' @param AttributeNames A list of attribute names.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' AccountAttributes = list(
#' list(
#' AttributeName = "string",
#' AttributeValues = list(
#' list(
#' AttributeValue = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_account_attributes(
#' AttributeNames = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_account_attributes
redshift_describe_account_attributes <- function(AttributeNames = NULL) {
op <- new_operation(
name = "DescribeAccountAttributes",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_account_attributes_input(AttributeNames = AttributeNames)
output <- .redshift$describe_account_attributes_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_account_attributes <- redshift_describe_account_attributes
#' Returns an array of ClusterDbRevision objects
#'
#' @description
#' Returns an array of `ClusterDbRevision` objects.
#'
#' @usage
#' redshift_describe_cluster_db_revisions(ClusterIdentifier, MaxRecords,
#' Marker)
#'
#' @param ClusterIdentifier A unique identifier for a cluster whose `ClusterDbRevisions` you are
#' requesting. This parameter is case sensitive. All clusters defined for
#' an account are returned by default.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified MaxRecords
#' value, a value is returned in the `marker` field of the response. You
#' can retrieve the next set of response records by providing the returned
#' `marker` value in the `marker` parameter and retrying the request.
#'
#' Default: 100
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point for returning a
#' set of response records. When the results of a
#' [`describe_cluster_db_revisions`][redshift_describe_cluster_db_revisions]
#' request exceed the value specified in `MaxRecords`, Amazon Redshift
#' returns a value in the `marker` field of the response. You can retrieve
#' the next set of response records by providing the returned `marker`
#' value in the `marker` parameter and retrying the request.
#'
#' Constraints: You can specify either the `ClusterIdentifier` parameter,
#' or the `marker` parameter, but not both.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ClusterDbRevisions = list(
#' list(
#' ClusterIdentifier = "string",
#' CurrentDatabaseRevision = "string",
#' DatabaseRevisionReleaseDate = as.POSIXct(
#' "2015-01-01"
#' ),
#' RevisionTargets = list(
#' list(
#' DatabaseRevision = "string",
#' Description = "string",
#' DatabaseRevisionReleaseDate = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_db_revisions(
#' ClusterIdentifier = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_db_revisions
redshift_describe_cluster_db_revisions <- function(ClusterIdentifier = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeClusterDbRevisions",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_db_revisions_input(ClusterIdentifier = ClusterIdentifier, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_cluster_db_revisions_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_db_revisions <- redshift_describe_cluster_db_revisions
#' Returns a list of Amazon Redshift parameter groups, including parameter
#' groups you created and the default parameter group
#'
#' @description
#' Returns a list of Amazon Redshift parameter groups, including parameter
#' groups you created and the default parameter group. For each parameter
#' group, the response includes the parameter group name, description, and
#' parameter group family name. You can optionally specify a name to
#' retrieve the description of a specific parameter group.
#'
#' For more information about parameters and parameter groups, go to
#' [Amazon Redshift Parameter
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all parameter groups that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' parameter groups that have any combination of those values are returned.
#'
#' If both tag keys and values are omitted from the request, parameter
#' groups are returned regardless of whether they have tag keys or values
#' associated with them.
#'
#' @usage
#' redshift_describe_cluster_parameter_groups(ParameterGroupName,
#' MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param ParameterGroupName The name of a specific parameter group for which to return details. By
#' default, details about all parameter groups and the default parameter
#' group are returned.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_parameter_groups`][redshift_describe_cluster_parameter_groups]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param TagKeys A tag key or keys for which you want to return all matching cluster
#' parameter groups that are associated with the specified key or keys. For
#' example, suppose that you have parameter groups that are tagged with
#' keys called `owner` and `environment`. If you specify both of these tag
#' keys in the request, Amazon Redshift returns a response with the
#' parameter groups that have either or both of these tag keys associated
#' with them.
#' @param TagValues A tag value or values for which you want to return all matching cluster
#' parameter groups that are associated with the specified tag value or
#' values. For example, suppose that you have parameter groups that are
#' tagged with values called `admin` and `test`. If you specify both of
#' these tag values in the request, Amazon Redshift returns a response with
#' the parameter groups that have either or both of these tag values
#' associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterGroupFamily = "string",
#' Description = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_parameter_groups(
#' ParameterGroupName = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_parameter_groups
redshift_describe_cluster_parameter_groups <- function(ParameterGroupName = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeClusterParameterGroups",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_parameter_groups_input(ParameterGroupName = ParameterGroupName, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_cluster_parameter_groups_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_parameter_groups <- redshift_describe_cluster_parameter_groups
#' Returns a detailed list of parameters contained within the specified
#' Amazon Redshift parameter group
#'
#' @description
#' Returns a detailed list of parameters contained within the specified
#' Amazon Redshift parameter group. For each parameter the response
#' includes information such as parameter name, description, data type,
#' value, whether the parameter value is modifiable, and so on.
#'
#' You can specify *source* filter to retrieve parameters of only specific
#' type. For example, to retrieve parameters that were modified by a user
#' action such as from
#' [`modify_cluster_parameter_group`][redshift_modify_cluster_parameter_group],
#' you can specify *source* equal to *user*.
#'
#' For more information about parameters and parameter groups, go to
#' [Amazon Redshift Parameter
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_describe_cluster_parameters(ParameterGroupName, Source,
#' MaxRecords, Marker)
#'
#' @param ParameterGroupName [required] The name of a cluster parameter group for which to return details.
#' @param Source The parameter types to return. Specify `user` to show parameters that
#' are different form the default. Similarly, specify `engine-default` to
#' show parameters that are the same as the default parameter group.
#'
#' Default: All parameter types returned.
#'
#' Valid Values: `user` | `engine-default`
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_parameters`][redshift_describe_cluster_parameters]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Parameters = list(
#' list(
#' ParameterName = "string",
#' ParameterValue = "string",
#' Description = "string",
#' Source = "string",
#' DataType = "string",
#' AllowedValues = "string",
#' ApplyType = "static"|"dynamic",
#' IsModifiable = TRUE|FALSE,
#' MinimumEngineVersion = "string"
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_parameters(
#' ParameterGroupName = "string",
#' Source = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_parameters
redshift_describe_cluster_parameters <- function(ParameterGroupName, Source = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeClusterParameters",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_parameters_input(ParameterGroupName = ParameterGroupName, Source = Source, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_cluster_parameters_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_parameters <- redshift_describe_cluster_parameters
#' Returns information about Amazon Redshift security groups
#'
#' @description
#' Returns information about Amazon Redshift security groups. If the name
#' of a security group is specified, the response will contain only
#' information about only that security group.
#'
#' For information about managing security groups, go to [Amazon Redshift
#' Cluster Security
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all security groups that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' security groups that have any combination of those values are returned.
#'
#' If both tag keys and values are omitted from the request, security
#' groups are returned regardless of whether they have tag keys or values
#' associated with them.
#'
#' @usage
#' redshift_describe_cluster_security_groups(ClusterSecurityGroupName,
#' MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param ClusterSecurityGroupName The name of a cluster security group for which you are requesting
#' details. You can specify either the **Marker** parameter or a
#' **ClusterSecurityGroupName** parameter, but not both.
#'
#' Example: `securitygroup1`
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_security_groups`][redshift_describe_cluster_security_groups]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' Constraints: You can specify either the **ClusterSecurityGroupName**
#' parameter or the **Marker** parameter, but not both.
#' @param TagKeys A tag key or keys for which you want to return all matching cluster
#' security groups that are associated with the specified key or keys. For
#' example, suppose that you have security groups that are tagged with keys
#' called `owner` and `environment`. If you specify both of these tag keys
#' in the request, Amazon Redshift returns a response with the security
#' groups that have either or both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching cluster
#' security groups that are associated with the specified tag value or
#' values. For example, suppose that you have security groups that are
#' tagged with values called `admin` and `test`. If you specify both of
#' these tag values in the request, Amazon Redshift returns a response with
#' the security groups that have either or both of these tag values
#' associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Description = "string",
#' EC2SecurityGroups = list(
#' list(
#' Status = "string",
#' EC2SecurityGroupName = "string",
#' EC2SecurityGroupOwnerId = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' IPRanges = list(
#' list(
#' Status = "string",
#' CIDRIP = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_security_groups(
#' ClusterSecurityGroupName = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_security_groups
redshift_describe_cluster_security_groups <- function(ClusterSecurityGroupName = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeClusterSecurityGroups",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_security_groups_input(ClusterSecurityGroupName = ClusterSecurityGroupName, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_cluster_security_groups_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_security_groups <- redshift_describe_cluster_security_groups
#' Returns one or more snapshot objects, which contain metadata about your
#' cluster snapshots
#'
#' @description
#' Returns one or more snapshot objects, which contain metadata about your
#' cluster snapshots. By default, this operation returns information about
#' all snapshots of all clusters that are owned by you AWS customer
#' account. No information is returned for snapshots owned by inactive AWS
#' customer accounts.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all snapshots that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' snapshots that have any combination of those values are returned. Only
#' snapshots that you own are returned in the response; shared snapshots
#' are not returned with the tag key and tag value request parameters.
#'
#' If both tag keys and values are omitted from the request, snapshots are
#' returned regardless of whether they have tag keys or values associated
#' with them.
#'
#' @usage
#' redshift_describe_cluster_snapshots(ClusterIdentifier,
#' SnapshotIdentifier, SnapshotType, StartTime, EndTime, MaxRecords,
#' Marker, OwnerAccount, TagKeys, TagValues, ClusterExists,
#' SortingEntities)
#'
#' @param ClusterIdentifier The identifier of the cluster which generated the requested snapshots.
#' @param SnapshotIdentifier The snapshot identifier of the snapshot about which to return
#' information.
#' @param SnapshotType The type of snapshots for which you are requesting information. By
#' default, snapshots of all types are returned.
#'
#' Valid Values: `automated` | `manual`
#' @param StartTime A value that requests only snapshots created at or after the specified
#' time. The time value is specified in ISO 8601 format. For more
#' information about ISO 8601, go to the [ISO8601 Wikipedia
#' page.](https://en.wikipedia.org/wiki/ISO_8601)
#'
#' Example: `2012-07-16T18:00:00Z`
#' @param EndTime A time value that requests only snapshots created at or before the
#' specified time. The time value is specified in ISO 8601 format. For more
#' information about ISO 8601, go to the [ISO8601 Wikipedia
#' page.](https://en.wikipedia.org/wiki/ISO_8601)
#'
#' Example: `2012-07-16T18:00:00Z`
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_snapshots`][redshift_describe_cluster_snapshots]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param OwnerAccount The AWS customer account used to create or copy the snapshot. Use this
#' field to filter the results to snapshots owned by a particular account.
#' To describe snapshots you own, either specify your AWS customer account,
#' or do not specify the parameter.
#' @param TagKeys A tag key or keys for which you want to return all matching cluster
#' snapshots that are associated with the specified key or keys. For
#' example, suppose that you have snapshots that are tagged with keys
#' called `owner` and `environment`. If you specify both of these tag keys
#' in the request, Amazon Redshift returns a response with the snapshots
#' that have either or both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching cluster
#' snapshots that are associated with the specified tag value or values.
#' For example, suppose that you have snapshots that are tagged with values
#' called `admin` and `test`. If you specify both of these tag values in
#' the request, Amazon Redshift returns a response with the snapshots that
#' have either or both of these tag values associated with them.
#' @param ClusterExists A value that indicates whether to return snapshots only for an existing
#' cluster. You can perform table-level restore only by using a snapshot of
#' an existing cluster, that is, a cluster that has not been deleted.
#' Values for this parameter work as follows:
#'
#' - If `ClusterExists` is set to `true`, `ClusterIdentifier` is
#' required.
#'
#' - If `ClusterExists` is set to `false` and `ClusterIdentifier` isn't
#' specified, all snapshots associated with deleted clusters (orphaned
#' snapshots) are returned.
#'
#' - If `ClusterExists` is set to `false` and `ClusterIdentifier` is
#' specified for a deleted cluster, snapshots associated with that
#' cluster are returned.
#'
#' - If `ClusterExists` is set to `false` and `ClusterIdentifier` is
#' specified for an existing cluster, no snapshots are returned.
#' @param SortingEntities
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' Snapshots = list(
#' list(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' SnapshotCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Status = "string",
#' Port = 123,
#' AvailabilityZone = "string",
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MasterUsername = "string",
#' ClusterVersion = "string",
#' EngineFullVersion = "string",
#' SnapshotType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' DBName = "string",
#' VpcId = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' EncryptedWithHSM = TRUE|FALSE,
#' AccountsWithRestoreAccess = list(
#' list(
#' AccountId = "string",
#' AccountAlias = "string"
#' )
#' ),
#' OwnerAccount = "string",
#' TotalBackupSizeInMegaBytes = 123.0,
#' ActualIncrementalBackupSizeInMegaBytes = 123.0,
#' BackupProgressInMegaBytes = 123.0,
#' CurrentBackupRateInMegaBytesPerSecond = 123.0,
#' EstimatedSecondsToCompletion = 123,
#' ElapsedTimeInSeconds = 123,
#' SourceRegion = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' RestorableNodeTypes = list(
#' "string"
#' ),
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' ManualSnapshotRemainingDays = 123,
#' SnapshotRetentionStartTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_snapshots(
#' ClusterIdentifier = "string",
#' SnapshotIdentifier = "string",
#' SnapshotType = "string",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MaxRecords = 123,
#' Marker = "string",
#' OwnerAccount = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' ),
#' ClusterExists = TRUE|FALSE,
#' SortingEntities = list(
#' list(
#' Attribute = "SOURCE_TYPE"|"TOTAL_SIZE"|"CREATE_TIME",
#' SortOrder = "ASC"|"DESC"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_snapshots
redshift_describe_cluster_snapshots <- function(ClusterIdentifier = NULL, SnapshotIdentifier = NULL, SnapshotType = NULL, StartTime = NULL, EndTime = NULL, MaxRecords = NULL, Marker = NULL, OwnerAccount = NULL, TagKeys = NULL, TagValues = NULL, ClusterExists = NULL, SortingEntities = NULL) {
op <- new_operation(
name = "DescribeClusterSnapshots",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_snapshots_input(ClusterIdentifier = ClusterIdentifier, SnapshotIdentifier = SnapshotIdentifier, SnapshotType = SnapshotType, StartTime = StartTime, EndTime = EndTime, MaxRecords = MaxRecords, Marker = Marker, OwnerAccount = OwnerAccount, TagKeys = TagKeys, TagValues = TagValues, ClusterExists = ClusterExists, SortingEntities = SortingEntities)
output <- .redshift$describe_cluster_snapshots_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_snapshots <- redshift_describe_cluster_snapshots
#' Returns one or more cluster subnet group objects, which contain metadata
#' about your cluster subnet groups
#'
#' @description
#' Returns one or more cluster subnet group objects, which contain metadata
#' about your cluster subnet groups. By default, this operation returns
#' information about all cluster subnet groups that are defined in you AWS
#' account.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all subnet groups that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' subnet groups that have any combination of those values are returned.
#'
#' If both tag keys and values are omitted from the request, subnet groups
#' are returned regardless of whether they have tag keys or values
#' associated with them.
#'
#' @usage
#' redshift_describe_cluster_subnet_groups(ClusterSubnetGroupName,
#' MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param ClusterSubnetGroupName The name of the cluster subnet group for which information is requested.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_subnet_groups`][redshift_describe_cluster_subnet_groups]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param TagKeys A tag key or keys for which you want to return all matching cluster
#' subnet groups that are associated with the specified key or keys. For
#' example, suppose that you have subnet groups that are tagged with keys
#' called `owner` and `environment`. If you specify both of these tag keys
#' in the request, Amazon Redshift returns a response with the subnet
#' groups that have either or both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching cluster
#' subnet groups that are associated with the specified tag value or
#' values. For example, suppose that you have subnet groups that are tagged
#' with values called `admin` and `test`. If you specify both of these tag
#' values in the request, Amazon Redshift returns a response with the
#' subnet groups that have either or both of these tag values associated
#' with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ClusterSubnetGroups = list(
#' list(
#' ClusterSubnetGroupName = "string",
#' Description = "string",
#' VpcId = "string",
#' SubnetGroupStatus = "string",
#' Subnets = list(
#' list(
#' SubnetIdentifier = "string",
#' SubnetAvailabilityZone = list(
#' Name = "string",
#' SupportedPlatforms = list(
#' list(
#' Name = "string"
#' )
#' )
#' ),
#' SubnetStatus = "string"
#' )
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_subnet_groups(
#' ClusterSubnetGroupName = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_subnet_groups
redshift_describe_cluster_subnet_groups <- function(ClusterSubnetGroupName = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeClusterSubnetGroups",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_subnet_groups_input(ClusterSubnetGroupName = ClusterSubnetGroupName, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_cluster_subnet_groups_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_subnet_groups <- redshift_describe_cluster_subnet_groups
#' Returns a list of all the available maintenance tracks
#'
#' @description
#' Returns a list of all the available maintenance tracks.
#'
#' @usage
#' redshift_describe_cluster_tracks(MaintenanceTrackName, MaxRecords,
#' Marker)
#'
#' @param MaintenanceTrackName The name of the maintenance track.
#' @param MaxRecords An integer value for the maximum number of maintenance tracks to return.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_tracks`][redshift_describe_cluster_tracks] request
#' exceed the value specified in `MaxRecords`, Amazon Redshift returns a
#' value in the `Marker` field of the response. You can retrieve the next
#' set of response records by providing the returned marker value in the
#' `Marker` parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' MaintenanceTracks = list(
#' list(
#' MaintenanceTrackName = "string",
#' DatabaseVersion = "string",
#' UpdateTargets = list(
#' list(
#' MaintenanceTrackName = "string",
#' DatabaseVersion = "string",
#' SupportedOperations = list(
#' list(
#' OperationName = "string"
#' )
#' )
#' )
#' )
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_tracks(
#' MaintenanceTrackName = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_tracks
redshift_describe_cluster_tracks <- function(MaintenanceTrackName = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeClusterTracks",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_tracks_input(MaintenanceTrackName = MaintenanceTrackName, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_cluster_tracks_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_tracks <- redshift_describe_cluster_tracks
#' Returns descriptions of the available Amazon Redshift cluster versions
#'
#' @description
#' Returns descriptions of the available Amazon Redshift cluster versions.
#' You can call this operation even before creating any clusters to learn
#' more about the Amazon Redshift versions. For more information about
#' managing clusters, go to [Amazon Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_describe_cluster_versions(ClusterVersion,
#' ClusterParameterGroupFamily, MaxRecords, Marker)
#'
#' @param ClusterVersion The specific cluster version to return.
#'
#' Example: `1.0`
#' @param ClusterParameterGroupFamily The name of a specific cluster parameter group family to return details
#' for.
#'
#' Constraints:
#'
#' - Must be 1 to 255 alphanumeric characters
#'
#' - First character must be a letter
#'
#' - Cannot end with a hyphen or contain two consecutive hyphens
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_cluster_versions`][redshift_describe_cluster_versions]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ClusterVersions = list(
#' list(
#' ClusterVersion = "string",
#' ClusterParameterGroupFamily = "string",
#' Description = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_cluster_versions(
#' ClusterVersion = "string",
#' ClusterParameterGroupFamily = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_cluster_versions
redshift_describe_cluster_versions <- function(ClusterVersion = NULL, ClusterParameterGroupFamily = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeClusterVersions",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_cluster_versions_input(ClusterVersion = ClusterVersion, ClusterParameterGroupFamily = ClusterParameterGroupFamily, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_cluster_versions_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_cluster_versions <- redshift_describe_cluster_versions
#' Returns properties of provisioned clusters including general cluster
#' properties, cluster database properties, maintenance and backup
#' properties, and security and access properties
#'
#' @description
#' Returns properties of provisioned clusters including general cluster
#' properties, cluster database properties, maintenance and backup
#' properties, and security and access properties. This operation supports
#' pagination. For more information about managing clusters, go to [Amazon
#' Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all clusters that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' clusters that have any combination of those values are returned.
#'
#' If both tag keys and values are omitted from the request, clusters are
#' returned regardless of whether they have tag keys or values associated
#' with them.
#'
#' @usage
#' redshift_describe_clusters(ClusterIdentifier, MaxRecords, Marker,
#' TagKeys, TagValues)
#'
#' @param ClusterIdentifier The unique identifier of a cluster whose properties you are requesting.
#' This parameter is case sensitive.
#'
#' The default is that all clusters defined for an account are returned.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_clusters`][redshift_describe_clusters] request exceed the
#' value specified in `MaxRecords`, AWS returns a value in the `Marker`
#' field of the response. You can retrieve the next set of response records
#' by providing the returned marker value in the `Marker` parameter and
#' retrying the request.
#'
#' Constraints: You can specify either the **ClusterIdentifier** parameter
#' or the **Marker** parameter, but not both.
#' @param TagKeys A tag key or keys for which you want to return all matching clusters
#' that are associated with the specified key or keys. For example, suppose
#' that you have clusters that are tagged with keys called `owner` and
#' `environment`. If you specify both of these tag keys in the request,
#' Amazon Redshift returns a response with the clusters that have either or
#' both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching clusters
#' that are associated with the specified tag value or values. For example,
#' suppose that you have clusters that are tagged with values called
#' `admin` and `test`. If you specify both of these tag values in the
#' request, Amazon Redshift returns a response with the clusters that have
#' either or both of these tag values associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' Clusters = list(
#' list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_clusters(
#' ClusterIdentifier = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_clusters
redshift_describe_clusters <- function(ClusterIdentifier = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeClusters",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_clusters_input(ClusterIdentifier = ClusterIdentifier, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_clusters_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_clusters <- redshift_describe_clusters
#' Returns a list of parameter settings for the specified parameter group
#' family
#'
#' @description
#' Returns a list of parameter settings for the specified parameter group
#' family.
#'
#' For more information about parameters and parameter groups, go to
#' [Amazon Redshift Parameter
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_describe_default_cluster_parameters(ParameterGroupFamily,
#' MaxRecords, Marker)
#'
#' @param ParameterGroupFamily [required] The name of the cluster parameter group family.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_default_cluster_parameters`][redshift_describe_default_cluster_parameters]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' DefaultClusterParameters = list(
#' ParameterGroupFamily = "string",
#' Marker = "string",
#' Parameters = list(
#' list(
#' ParameterName = "string",
#' ParameterValue = "string",
#' Description = "string",
#' Source = "string",
#' DataType = "string",
#' AllowedValues = "string",
#' ApplyType = "static"|"dynamic",
#' IsModifiable = TRUE|FALSE,
#' MinimumEngineVersion = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_default_cluster_parameters(
#' ParameterGroupFamily = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_default_cluster_parameters
redshift_describe_default_cluster_parameters <- function(ParameterGroupFamily, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeDefaultClusterParameters",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_default_cluster_parameters_input(ParameterGroupFamily = ParameterGroupFamily, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_default_cluster_parameters_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_default_cluster_parameters <- redshift_describe_default_cluster_parameters
#' Displays a list of event categories for all event source types, or for a
#' specified source type
#'
#' @description
#' Displays a list of event categories for all event source types, or for a
#' specified source type. For a list of the event categories and source
#' types, go to [Amazon Redshift Event
#' Notifications](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html).
#'
#' @usage
#' redshift_describe_event_categories(SourceType)
#'
#' @param SourceType The source type, such as cluster or parameter group, to which the
#' described event categories apply.
#'
#' Valid values: cluster, cluster-snapshot, cluster-parameter-group,
#' cluster-security-group, and scheduled-action.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' EventCategoriesMapList = list(
#' list(
#' SourceType = "string",
#' Events = list(
#' list(
#' EventId = "string",
#' EventCategories = list(
#' "string"
#' ),
#' EventDescription = "string",
#' Severity = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_event_categories(
#' SourceType = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_event_categories
redshift_describe_event_categories <- function(SourceType = NULL) {
op <- new_operation(
name = "DescribeEventCategories",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_event_categories_input(SourceType = SourceType)
output <- .redshift$describe_event_categories_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_event_categories <- redshift_describe_event_categories
#' Lists descriptions of all the Amazon Redshift event notification
#' subscriptions for a customer account
#'
#' @description
#' Lists descriptions of all the Amazon Redshift event notification
#' subscriptions for a customer account. If you specify a subscription
#' name, lists the description for that subscription.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all event notification subscriptions that match any
#' combination of the specified keys and values. For example, if you have
#' `owner` and `environment` for tag keys, and `admin` and `test` for tag
#' values, all subscriptions that have any combination of those values are
#' returned.
#'
#' If both tag keys and values are omitted from the request, subscriptions
#' are returned regardless of whether they have tag keys or values
#' associated with them.
#'
#' @usage
#' redshift_describe_event_subscriptions(SubscriptionName, MaxRecords,
#' Marker, TagKeys, TagValues)
#'
#' @param SubscriptionName The name of the Amazon Redshift event notification subscription to be
#' described.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a DescribeEventSubscriptions
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param TagKeys A tag key or keys for which you want to return all matching event
#' notification subscriptions that are associated with the specified key or
#' keys. For example, suppose that you have subscriptions that are tagged
#' with keys called `owner` and `environment`. If you specify both of these
#' tag keys in the request, Amazon Redshift returns a response with the
#' subscriptions that have either or both of these tag keys associated with
#' them.
#' @param TagValues A tag value or values for which you want to return all matching event
#' notification subscriptions that are associated with the specified tag
#' value or values. For example, suppose that you have subscriptions that
#' are tagged with values called `admin` and `test`. If you specify both of
#' these tag values in the request, Amazon Redshift returns a response with
#' the subscriptions that have either or both of these tag values
#' associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' EventSubscriptionsList = list(
#' list(
#' CustomerAwsId = "string",
#' CustSubscriptionId = "string",
#' SnsTopicArn = "string",
#' Status = "string",
#' SubscriptionCreationTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' SourceType = "string",
#' SourceIdsList = list(
#' "string"
#' ),
#' EventCategoriesList = list(
#' "string"
#' ),
#' Severity = "string",
#' Enabled = TRUE|FALSE,
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_event_subscriptions(
#' SubscriptionName = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_event_subscriptions
redshift_describe_event_subscriptions <- function(SubscriptionName = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeEventSubscriptions",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_event_subscriptions_input(SubscriptionName = SubscriptionName, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_event_subscriptions_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_event_subscriptions <- redshift_describe_event_subscriptions
#' Returns events related to clusters, security groups, snapshots, and
#' parameter groups for the past 14 days
#'
#' @description
#' Returns events related to clusters, security groups, snapshots, and
#' parameter groups for the past 14 days. Events specific to a particular
#' cluster, security group, snapshot or parameter group can be obtained by
#' providing the name as a parameter. By default, the past hour of events
#' are returned.
#'
#' @usage
#' redshift_describe_events(SourceIdentifier, SourceType, StartTime,
#' EndTime, Duration, MaxRecords, Marker)
#'
#' @param SourceIdentifier The identifier of the event source for which events will be returned. If
#' this parameter is not specified, then all sources are included in the
#' response.
#'
#' Constraints:
#'
#' If *SourceIdentifier* is supplied, *SourceType* must also be provided.
#'
#' - Specify a cluster identifier when *SourceType* is `cluster`.
#'
#' - Specify a cluster security group name when *SourceType* is
#' `cluster-security-group`.
#'
#' - Specify a cluster parameter group name when *SourceType* is
#' `cluster-parameter-group`.
#'
#' - Specify a cluster snapshot identifier when *SourceType* is
#' `cluster-snapshot`.
#' @param SourceType The event source to retrieve events for. If no value is specified, all
#' events are returned.
#'
#' Constraints:
#'
#' If *SourceType* is supplied, *SourceIdentifier* must also be provided.
#'
#' - Specify `cluster` when *SourceIdentifier* is a cluster identifier.
#'
#' - Specify `cluster-security-group` when *SourceIdentifier* is a
#' cluster security group name.
#'
#' - Specify `cluster-parameter-group` when *SourceIdentifier* is a
#' cluster parameter group name.
#'
#' - Specify `cluster-snapshot` when *SourceIdentifier* is a cluster
#' snapshot identifier.
#' @param StartTime The beginning of the time interval to retrieve events for, specified in
#' ISO 8601 format. For more information about ISO 8601, go to the [ISO8601
#' Wikipedia page.](https://en.wikipedia.org/wiki/ISO_8601)
#'
#' Example: `2009-07-08T18:00Z`
#' @param EndTime The end of the time interval for which to retrieve events, specified in
#' ISO 8601 format. For more information about ISO 8601, go to the [ISO8601
#' Wikipedia page.](https://en.wikipedia.org/wiki/ISO_8601)
#'
#' Example: `2009-07-08T18:00Z`
#' @param Duration The number of minutes prior to the time of the request for which to
#' retrieve events. For example, if the request is sent at 18:00 and you
#' specify a duration of 60, then only events which have occurred after
#' 17:00 will be returned.
#'
#' Default: `60`
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_events`][redshift_describe_events] request exceed the value
#' specified in `MaxRecords`, AWS returns a value in the `Marker` field of
#' the response. You can retrieve the next set of response records by
#' providing the returned marker value in the `Marker` parameter and
#' retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' Events = list(
#' list(
#' SourceIdentifier = "string",
#' SourceType = "cluster"|"cluster-parameter-group"|"cluster-security-group"|"cluster-snapshot"|"scheduled-action",
#' Message = "string",
#' EventCategories = list(
#' "string"
#' ),
#' Severity = "string",
#' Date = as.POSIXct(
#' "2015-01-01"
#' ),
#' EventId = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_events(
#' SourceIdentifier = "string",
#' SourceType = "cluster"|"cluster-parameter-group"|"cluster-security-group"|"cluster-snapshot"|"scheduled-action",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Duration = 123,
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_events
redshift_describe_events <- function(SourceIdentifier = NULL, SourceType = NULL, StartTime = NULL, EndTime = NULL, Duration = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeEvents",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_events_input(SourceIdentifier = SourceIdentifier, SourceType = SourceType, StartTime = StartTime, EndTime = EndTime, Duration = Duration, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_events_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_events <- redshift_describe_events
#' Returns information about the specified HSM client certificate
#'
#' @description
#' Returns information about the specified HSM client certificate. If no
#' certificate ID is specified, returns information about all the HSM
#' certificates owned by your AWS customer account.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all HSM client certificates that match any combination
#' of the specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' HSM client certificates that have any combination of those values are
#' returned.
#'
#' If both tag keys and values are omitted from the request, HSM client
#' certificates are returned regardless of whether they have tag keys or
#' values associated with them.
#'
#' @usage
#' redshift_describe_hsm_client_certificates(
#' HsmClientCertificateIdentifier, MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param HsmClientCertificateIdentifier The identifier of a specific HSM client certificate for which you want
#' information. If no identifier is specified, information is returned for
#' all HSM client certificates owned by your AWS customer account.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_hsm_client_certificates`][redshift_describe_hsm_client_certificates]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param TagKeys A tag key or keys for which you want to return all matching HSM client
#' certificates that are associated with the specified key or keys. For
#' example, suppose that you have HSM client certificates that are tagged
#' with keys called `owner` and `environment`. If you specify both of these
#' tag keys in the request, Amazon Redshift returns a response with the HSM
#' client certificates that have either or both of these tag keys
#' associated with them.
#' @param TagValues A tag value or values for which you want to return all matching HSM
#' client certificates that are associated with the specified tag value or
#' values. For example, suppose that you have HSM client certificates that
#' are tagged with values called `admin` and `test`. If you specify both of
#' these tag values in the request, Amazon Redshift returns a response with
#' the HSM client certificates that have either or both of these tag values
#' associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' HsmClientCertificates = list(
#' list(
#' HsmClientCertificateIdentifier = "string",
#' HsmClientCertificatePublicKey = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_hsm_client_certificates(
#' HsmClientCertificateIdentifier = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_hsm_client_certificates
redshift_describe_hsm_client_certificates <- function(HsmClientCertificateIdentifier = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeHsmClientCertificates",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_hsm_client_certificates_input(HsmClientCertificateIdentifier = HsmClientCertificateIdentifier, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_hsm_client_certificates_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_hsm_client_certificates <- redshift_describe_hsm_client_certificates
#' Returns information about the specified Amazon Redshift HSM
#' configuration
#'
#' @description
#' Returns information about the specified Amazon Redshift HSM
#' configuration. If no configuration ID is specified, returns information
#' about all the HSM configurations owned by your AWS customer account.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all HSM connections that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' HSM connections that have any combination of those values are returned.
#'
#' If both tag keys and values are omitted from the request, HSM
#' connections are returned regardless of whether they have tag keys or
#' values associated with them.
#'
#' @usage
#' redshift_describe_hsm_configurations(HsmConfigurationIdentifier,
#' MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param HsmConfigurationIdentifier The identifier of a specific Amazon Redshift HSM configuration to be
#' described. If no identifier is specified, information is returned for
#' all HSM configurations owned by your AWS customer account.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_hsm_configurations`][redshift_describe_hsm_configurations]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param TagKeys A tag key or keys for which you want to return all matching HSM
#' configurations that are associated with the specified key or keys. For
#' example, suppose that you have HSM configurations that are tagged with
#' keys called `owner` and `environment`. If you specify both of these tag
#' keys in the request, Amazon Redshift returns a response with the HSM
#' configurations that have either or both of these tag keys associated
#' with them.
#' @param TagValues A tag value or values for which you want to return all matching HSM
#' configurations that are associated with the specified tag value or
#' values. For example, suppose that you have HSM configurations that are
#' tagged with values called `admin` and `test`. If you specify both of
#' these tag values in the request, Amazon Redshift returns a response with
#' the HSM configurations that have either or both of these tag values
#' associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' HsmConfigurations = list(
#' list(
#' HsmConfigurationIdentifier = "string",
#' Description = "string",
#' HsmIpAddress = "string",
#' HsmPartitionName = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_hsm_configurations(
#' HsmConfigurationIdentifier = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_hsm_configurations
redshift_describe_hsm_configurations <- function(HsmConfigurationIdentifier = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeHsmConfigurations",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_hsm_configurations_input(HsmConfigurationIdentifier = HsmConfigurationIdentifier, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_hsm_configurations_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_hsm_configurations <- redshift_describe_hsm_configurations
#' Describes whether information, such as queries and connection attempts,
#' is being logged for the specified Amazon Redshift cluster
#'
#' @description
#' Describes whether information, such as queries and connection attempts,
#' is being logged for the specified Amazon Redshift cluster.
#'
#' @usage
#' redshift_describe_logging_status(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The identifier of the cluster from which to get the logging status.
#'
#' Example: `examplecluster`
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' LoggingEnabled = TRUE|FALSE,
#' BucketName = "string",
#' S3KeyPrefix = "string",
#' LastSuccessfulDeliveryTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' LastFailureTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' LastFailureMessage = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_logging_status(
#' ClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_logging_status
redshift_describe_logging_status <- function(ClusterIdentifier) {
op <- new_operation(
name = "DescribeLoggingStatus",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_logging_status_input(ClusterIdentifier = ClusterIdentifier)
output <- .redshift$describe_logging_status_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_logging_status <- redshift_describe_logging_status
#' Returns properties of possible node configurations such as node type,
#' number of nodes, and disk usage for the specified action type
#'
#' @description
#' Returns properties of possible node configurations such as node type,
#' number of nodes, and disk usage for the specified action type.
#'
#' @usage
#' redshift_describe_node_configuration_options(ActionType,
#' ClusterIdentifier, SnapshotIdentifier, OwnerAccount, Filters, Marker,
#' MaxRecords)
#'
#' @param ActionType [required] The action type to evaluate for possible node configurations. Specify
#' "restore-cluster" to get configuration combinations based on an existing
#' snapshot. Specify "recommend-node-config" to get configuration
#' recommendations based on an existing cluster or snapshot. Specify
#' "resize-cluster" to get configuration combinations for elastic resize
#' based on an existing cluster.
#' @param ClusterIdentifier The identifier of the cluster to evaluate for possible node
#' configurations.
#' @param SnapshotIdentifier The identifier of the snapshot to evaluate for possible node
#' configurations.
#' @param OwnerAccount The AWS customer 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.
#' @param Filters A set of name, operator, and value items to filter the results.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_node_configuration_options`][redshift_describe_node_configuration_options]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `500`
#'
#' Constraints: minimum 100, maximum 500.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' NodeConfigurationOptionList = list(
#' list(
#' NodeType = "string",
#' NumberOfNodes = 123,
#' EstimatedDiskUtilizationPercent = 123.0,
#' Mode = "standard"|"high-performance"
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_node_configuration_options(
#' ActionType = "restore-cluster"|"recommend-node-config"|"resize-cluster",
#' ClusterIdentifier = "string",
#' SnapshotIdentifier = "string",
#' OwnerAccount = "string",
#' Filters = list(
#' list(
#' Name = "NodeType"|"NumberOfNodes"|"EstimatedDiskUtilizationPercent"|"Mode",
#' Operator = "eq"|"lt"|"gt"|"le"|"ge"|"in"|"between",
#' Values = list(
#' "string"
#' )
#' )
#' ),
#' Marker = "string",
#' MaxRecords = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_node_configuration_options
redshift_describe_node_configuration_options <- function(ActionType, ClusterIdentifier = NULL, SnapshotIdentifier = NULL, OwnerAccount = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
op <- new_operation(
name = "DescribeNodeConfigurationOptions",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_node_configuration_options_input(ActionType = ActionType, ClusterIdentifier = ClusterIdentifier, SnapshotIdentifier = SnapshotIdentifier, OwnerAccount = OwnerAccount, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
output <- .redshift$describe_node_configuration_options_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_node_configuration_options <- redshift_describe_node_configuration_options
#' Returns a list of orderable cluster options
#'
#' @description
#' Returns a list of orderable cluster options. Before you create a new
#' cluster you can use this operation to find what options are available,
#' such as the EC2 Availability Zones (AZ) in the specific AWS Region that
#' you can specify, and the node types you can request. The node types
#' differ by available storage, memory, CPU and price. With the cost
#' involved you might want to obtain a list of cluster options in the
#' specific region and specify values when creating a cluster. For more
#' information about managing clusters, go to [Amazon Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_describe_orderable_cluster_options(ClusterVersion, NodeType,
#' MaxRecords, Marker)
#'
#' @param ClusterVersion The version filter value. Specify this parameter to show only the
#' available offerings matching the specified version.
#'
#' Default: All versions.
#'
#' Constraints: Must be one of the version returned from
#' [`describe_cluster_versions`][redshift_describe_cluster_versions].
#' @param NodeType The node type filter value. Specify this parameter to show only the
#' available offerings matching the specified node type.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_orderable_cluster_options`][redshift_describe_orderable_cluster_options]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' OrderableClusterOptions = list(
#' list(
#' ClusterVersion = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' AvailabilityZones = list(
#' list(
#' Name = "string",
#' SupportedPlatforms = list(
#' list(
#' Name = "string"
#' )
#' )
#' )
#' )
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_orderable_cluster_options(
#' ClusterVersion = "string",
#' NodeType = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_orderable_cluster_options
redshift_describe_orderable_cluster_options <- function(ClusterVersion = NULL, NodeType = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeOrderableClusterOptions",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_orderable_cluster_options_input(ClusterVersion = ClusterVersion, NodeType = NodeType, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_orderable_cluster_options_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_orderable_cluster_options <- redshift_describe_orderable_cluster_options
#' Returns a list of the available reserved node offerings by Amazon
#' Redshift with their descriptions including the node type, the fixed and
#' recurring costs of reserving the node and duration the node will be
#' reserved for you
#'
#' @description
#' Returns a list of the available reserved node offerings by Amazon
#' Redshift with their descriptions including the node type, the fixed and
#' recurring costs of reserving the node and duration the node will be
#' reserved for you. These descriptions help you determine which reserve
#' node offering you want to purchase. You then use the unique offering ID
#' in you call to
#' [`purchase_reserved_node_offering`][redshift_purchase_reserved_node_offering]
#' to reserve one or more nodes for your Amazon Redshift cluster.
#'
#' For more information about reserved node offerings, go to [Purchasing
#' Reserved
#' Nodes](https://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_describe_reserved_node_offerings(ReservedNodeOfferingId,
#' MaxRecords, Marker)
#'
#' @param ReservedNodeOfferingId The unique identifier for the offering.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_reserved_node_offerings`][redshift_describe_reserved_node_offerings]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ReservedNodeOfferings = list(
#' list(
#' ReservedNodeOfferingId = "string",
#' NodeType = "string",
#' Duration = 123,
#' FixedPrice = 123.0,
#' UsagePrice = 123.0,
#' CurrencyCode = "string",
#' OfferingType = "string",
#' RecurringCharges = list(
#' list(
#' RecurringChargeAmount = 123.0,
#' RecurringChargeFrequency = "string"
#' )
#' ),
#' ReservedNodeOfferingType = "Regular"|"Upgradable"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_reserved_node_offerings(
#' ReservedNodeOfferingId = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_reserved_node_offerings
redshift_describe_reserved_node_offerings <- function(ReservedNodeOfferingId = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeReservedNodeOfferings",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_reserved_node_offerings_input(ReservedNodeOfferingId = ReservedNodeOfferingId, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_reserved_node_offerings_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_reserved_node_offerings <- redshift_describe_reserved_node_offerings
#' Returns the descriptions of the reserved nodes
#'
#' @description
#' Returns the descriptions of the reserved nodes.
#'
#' @usage
#' redshift_describe_reserved_nodes(ReservedNodeId, MaxRecords, Marker)
#'
#' @param ReservedNodeId Identifier for the node reservation.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_reserved_nodes`][redshift_describe_reserved_nodes] request
#' exceed the value specified in `MaxRecords`, AWS returns a value in the
#' `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ReservedNodes = list(
#' list(
#' ReservedNodeId = "string",
#' ReservedNodeOfferingId = "string",
#' NodeType = "string",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Duration = 123,
#' FixedPrice = 123.0,
#' UsagePrice = 123.0,
#' CurrencyCode = "string",
#' NodeCount = 123,
#' State = "string",
#' OfferingType = "string",
#' RecurringCharges = list(
#' list(
#' RecurringChargeAmount = 123.0,
#' RecurringChargeFrequency = "string"
#' )
#' ),
#' ReservedNodeOfferingType = "Regular"|"Upgradable"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_reserved_nodes(
#' ReservedNodeId = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_reserved_nodes
redshift_describe_reserved_nodes <- function(ReservedNodeId = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeReservedNodes",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_reserved_nodes_input(ReservedNodeId = ReservedNodeId, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_reserved_nodes_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_reserved_nodes <- redshift_describe_reserved_nodes
#' Returns information about the last resize operation for the specified
#' cluster
#'
#' @description
#' Returns information about the last resize operation for the specified
#' cluster. If no resize operation has ever been initiated for the
#' specified cluster, a `HTTP 404` error is returned. If a resize operation
#' was initiated and completed, the status of the resize remains as
#' `SUCCEEDED` until the next resize.
#'
#' A resize operation can be requested using
#' [`modify_cluster`][redshift_modify_cluster] and specifying a different
#' number or type of nodes for the cluster.
#'
#' @usage
#' redshift_describe_resize(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The unique identifier of a cluster whose resize progress you are
#' requesting. This parameter is case-sensitive.
#'
#' By default, resize operations for all clusters defined for an AWS
#' account are returned.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' TargetNodeType = "string",
#' TargetNumberOfNodes = 123,
#' TargetClusterType = "string",
#' Status = "string",
#' ImportTablesCompleted = list(
#' "string"
#' ),
#' ImportTablesInProgress = list(
#' "string"
#' ),
#' ImportTablesNotStarted = list(
#' "string"
#' ),
#' AvgResizeRateInMegaBytesPerSecond = 123.0,
#' TotalResizeDataInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ResizeType = "string",
#' Message = "string",
#' TargetEncryptionType = "string",
#' DataTransferProgressPercent = 123.0
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_resize(
#' ClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_resize
redshift_describe_resize <- function(ClusterIdentifier) {
op <- new_operation(
name = "DescribeResize",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_resize_input(ClusterIdentifier = ClusterIdentifier)
output <- .redshift$describe_resize_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_resize <- redshift_describe_resize
#' Describes properties of scheduled actions
#'
#' @description
#' Describes properties of scheduled actions.
#'
#' @usage
#' redshift_describe_scheduled_actions(ScheduledActionName,
#' TargetActionType, StartTime, EndTime, Active, Filters, Marker,
#' MaxRecords)
#'
#' @param ScheduledActionName The name of the scheduled action to retrieve.
#' @param TargetActionType The type of the scheduled actions to retrieve.
#' @param StartTime The start time in UTC of the scheduled actions to retrieve. Only active
#' scheduled actions that have invocations after this time are retrieved.
#' @param EndTime The end time in UTC of the scheduled action to retrieve. Only active
#' scheduled actions that have invocations before this time are retrieved.
#' @param Active If true, retrieve only active scheduled actions. If false, retrieve only
#' disabled scheduled actions.
#' @param Filters List of scheduled action filters.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_scheduled_actions`][redshift_describe_scheduled_actions]
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ScheduledActions = list(
#' list(
#' ScheduledActionName = "string",
#' TargetAction = list(
#' ResizeCluster = list(
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' Classic = TRUE|FALSE
#' ),
#' PauseCluster = list(
#' ClusterIdentifier = "string"
#' ),
#' ResumeCluster = list(
#' ClusterIdentifier = "string"
#' )
#' ),
#' Schedule = "string",
#' IamRole = "string",
#' ScheduledActionDescription = "string",
#' State = "ACTIVE"|"DISABLED",
#' NextInvocations = list(
#' as.POSIXct(
#' "2015-01-01"
#' )
#' ),
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_scheduled_actions(
#' ScheduledActionName = "string",
#' TargetActionType = "ResizeCluster"|"PauseCluster"|"ResumeCluster",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Active = TRUE|FALSE,
#' Filters = list(
#' list(
#' Name = "cluster-identifier"|"iam-role",
#' Values = list(
#' "string"
#' )
#' )
#' ),
#' Marker = "string",
#' MaxRecords = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_scheduled_actions
redshift_describe_scheduled_actions <- function(ScheduledActionName = NULL, TargetActionType = NULL, StartTime = NULL, EndTime = NULL, Active = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
op <- new_operation(
name = "DescribeScheduledActions",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_scheduled_actions_input(ScheduledActionName = ScheduledActionName, TargetActionType = TargetActionType, StartTime = StartTime, EndTime = EndTime, Active = Active, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
output <- .redshift$describe_scheduled_actions_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_scheduled_actions <- redshift_describe_scheduled_actions
#' Returns a list of snapshot copy grants owned by the AWS account in the
#' destination region
#'
#' @description
#' Returns a list of snapshot copy grants owned by the AWS account in the
#' destination region.
#'
#' For more information about managing snapshot copy grants, go to [Amazon
#' Redshift Database
#' Encryption](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_describe_snapshot_copy_grants(SnapshotCopyGrantName,
#' MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param SnapshotCopyGrantName The name of the snapshot copy grant.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a `DescribeSnapshotCopyGrant`
#' request exceed the value specified in `MaxRecords`, AWS returns a value
#' in the `Marker` field of the response. You can retrieve the next set of
#' response records by providing the returned marker value in the `Marker`
#' parameter and retrying the request.
#'
#' Constraints: You can specify either the **SnapshotCopyGrantName**
#' parameter or the **Marker** parameter, but not both.
#' @param TagKeys A tag key or keys for which you want to return all matching resources
#' that are associated with the specified key or keys. For example, suppose
#' that you have resources tagged with keys called `owner` and
#' `environment`. If you specify both of these tag keys in the request,
#' Amazon Redshift returns a response with all resources that have either
#' or both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching
#' resources that are associated with the specified value or values. For
#' example, suppose that you have resources tagged with values called
#' `admin` and `test`. If you specify both of these tag values in the
#' request, Amazon Redshift returns a response with all resources that have
#' either or both of these tag values associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' SnapshotCopyGrants = list(
#' list(
#' SnapshotCopyGrantName = "string",
#' KmsKeyId = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_snapshot_copy_grants(
#' SnapshotCopyGrantName = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_snapshot_copy_grants
redshift_describe_snapshot_copy_grants <- function(SnapshotCopyGrantName = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeSnapshotCopyGrants",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_snapshot_copy_grants_input(SnapshotCopyGrantName = SnapshotCopyGrantName, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_snapshot_copy_grants_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_snapshot_copy_grants <- redshift_describe_snapshot_copy_grants
#' Returns a list of snapshot schedules
#'
#' @description
#' Returns a list of snapshot schedules.
#'
#' @usage
#' redshift_describe_snapshot_schedules(ClusterIdentifier,
#' ScheduleIdentifier, TagKeys, TagValues, Marker, MaxRecords)
#'
#' @param ClusterIdentifier The unique identifier for the cluster whose snapshot schedules you want
#' to view.
#' @param ScheduleIdentifier A unique identifier for a snapshot schedule.
#' @param TagKeys The key value for a snapshot schedule tag.
#' @param TagValues The value corresponding to the key of the snapshot schedule tag.
#' @param Marker A value that indicates the starting point for the next set of response
#' records in a subsequent request. If a value is returned in a response,
#' you can retrieve the next set of records by providing this returned
#' marker value in the `marker` parameter and retrying the command. If the
#' `marker` field is empty, all response records have been retrieved for
#' the request.
#' @param MaxRecords The maximum number or response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned `marker` value.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' SnapshotSchedules = list(
#' list(
#' ScheduleDefinitions = list(
#' "string"
#' ),
#' ScheduleIdentifier = "string",
#' ScheduleDescription = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' NextInvocations = list(
#' as.POSIXct(
#' "2015-01-01"
#' )
#' ),
#' AssociatedClusterCount = 123,
#' AssociatedClusters = list(
#' list(
#' ClusterIdentifier = "string",
#' ScheduleAssociationState = "MODIFYING"|"ACTIVE"|"FAILED"
#' )
#' )
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_snapshot_schedules(
#' ClusterIdentifier = "string",
#' ScheduleIdentifier = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' ),
#' Marker = "string",
#' MaxRecords = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_snapshot_schedules
redshift_describe_snapshot_schedules <- function(ClusterIdentifier = NULL, ScheduleIdentifier = NULL, TagKeys = NULL, TagValues = NULL, Marker = NULL, MaxRecords = NULL) {
op <- new_operation(
name = "DescribeSnapshotSchedules",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_snapshot_schedules_input(ClusterIdentifier = ClusterIdentifier, ScheduleIdentifier = ScheduleIdentifier, TagKeys = TagKeys, TagValues = TagValues, Marker = Marker, MaxRecords = MaxRecords)
output <- .redshift$describe_snapshot_schedules_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_snapshot_schedules <- redshift_describe_snapshot_schedules
#' Returns account level backups storage size and provisional storage
#'
#' @description
#' Returns account level backups storage size and provisional storage.
#'
#' @usage
#' redshift_describe_storage()
#'
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' TotalBackupSizeInMegaBytes = 123.0,
#' TotalProvisionedStorageInMegaBytes = 123.0
#' )
#' ```
#'
#'
#' @keywords internal
#'
#' @rdname redshift_describe_storage
redshift_describe_storage <- function() {
op <- new_operation(
name = "DescribeStorage",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_storage_input()
output <- .redshift$describe_storage_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_storage <- redshift_describe_storage
#' Lists the status of one or more table restore requests made using the
#' RestoreTableFromClusterSnapshot API action
#'
#' @description
#' Lists the status of one or more table restore requests made using the
#' [`restore_table_from_cluster_snapshot`][redshift_restore_table_from_cluster_snapshot]
#' API action. If you don't specify a value for the `TableRestoreRequestId`
#' parameter, then
#' [`describe_table_restore_status`][redshift_describe_table_restore_status]
#' returns the status of all table restore requests ordered by the date and
#' time of the request in ascending order. Otherwise
#' [`describe_table_restore_status`][redshift_describe_table_restore_status]
#' returns the status of the table specified by `TableRestoreRequestId`.
#'
#' @usage
#' redshift_describe_table_restore_status(ClusterIdentifier,
#' TableRestoreRequestId, MaxRecords, Marker)
#'
#' @param ClusterIdentifier The Amazon Redshift cluster that the table is being restored to.
#' @param TableRestoreRequestId The identifier of the table restore request to return status for. If you
#' don't specify a `TableRestoreRequestId` value, then
#' [`describe_table_restore_status`][redshift_describe_table_restore_status]
#' returns the status of all in-progress table restore requests.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that the remaining
#' results can be retrieved.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_table_restore_status`][redshift_describe_table_restore_status]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by the `MaxRecords`
#' parameter.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' TableRestoreStatusDetails = list(
#' list(
#' TableRestoreRequestId = "string",
#' Status = "PENDING"|"IN_PROGRESS"|"SUCCEEDED"|"FAILED"|"CANCELED",
#' Message = "string",
#' RequestTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ProgressInMegaBytes = 123,
#' TotalDataInMegaBytes = 123,
#' ClusterIdentifier = "string",
#' SnapshotIdentifier = "string",
#' SourceDatabaseName = "string",
#' SourceSchemaName = "string",
#' SourceTableName = "string",
#' TargetDatabaseName = "string",
#' TargetSchemaName = "string",
#' NewTableName = "string"
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_table_restore_status(
#' ClusterIdentifier = "string",
#' TableRestoreRequestId = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_table_restore_status
redshift_describe_table_restore_status <- function(ClusterIdentifier = NULL, TableRestoreRequestId = NULL, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "DescribeTableRestoreStatus",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_table_restore_status_input(ClusterIdentifier = ClusterIdentifier, TableRestoreRequestId = TableRestoreRequestId, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$describe_table_restore_status_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_table_restore_status <- redshift_describe_table_restore_status
#' Returns a list of tags
#'
#' @description
#' Returns a list of tags. You can return tags from a specific resource by
#' specifying an ARN, or you can return all tags for a given type of
#' resource, such as clusters, snapshots, and so on.
#'
#' The following are limitations for
#' [`describe_tags`][redshift_describe_tags]:
#'
#' - You cannot specify an ARN and a resource-type value together in the
#' same request.
#'
#' - You cannot use the `MaxRecords` and `Marker` parameters together
#' with the ARN parameter.
#'
#' - The `MaxRecords` parameter can be a range from 10 to 50 results to
#' return in a request.
#'
#' If you specify both tag keys and tag values in the same request, Amazon
#' Redshift returns all resources that match any combination of the
#' specified keys and values. For example, if you have `owner` and
#' `environment` for tag keys, and `admin` and `test` for tag values, all
#' resources that have any combination of those values are returned.
#'
#' If both tag keys and values are omitted from the request, resources are
#' returned regardless of whether they have tag keys or values associated
#' with them.
#'
#' @usage
#' redshift_describe_tags(ResourceName, ResourceType, MaxRecords, Marker,
#' TagKeys, TagValues)
#'
#' @param ResourceName The Amazon Resource Name (ARN) for which you want to describe the tag or
#' tags. For example, `arn:aws:redshift:us-east-2:123456789:cluster:t1`.
#' @param ResourceType The type of resource with which you want to view tags. Valid resource
#' types are:
#'
#' - Cluster
#'
#' - CIDR/IP
#'
#' - EC2 security group
#'
#' - Snapshot
#'
#' - Cluster security group
#'
#' - Subnet group
#'
#' - HSM connection
#'
#' - HSM certificate
#'
#' - Parameter group
#'
#' - Snapshot copy grant
#'
#' For more information about Amazon Redshift resource types and
#' constructing ARNs, go to [Specifying Policy Elements: Actions, Effects,
#' Resources, and
#' Principals](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-overview.html#redshift-iam-access-control-specify-actions)
#' in the Amazon Redshift Cluster Management Guide.
#' @param MaxRecords The maximum number or response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned `marker` value.
#' @param Marker A value that indicates the starting point for the next set of response
#' records in a subsequent request. If a value is returned in a response,
#' you can retrieve the next set of records by providing this returned
#' marker value in the `marker` parameter and retrying the command. If the
#' `marker` field is empty, all response records have been retrieved for
#' the request.
#' @param TagKeys A tag key or keys for which you want to return all matching resources
#' that are associated with the specified key or keys. For example, suppose
#' that you have resources tagged with keys called `owner` and
#' `environment`. If you specify both of these tag keys in the request,
#' Amazon Redshift returns a response with all resources that have either
#' or both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching
#' resources that are associated with the specified value or values. For
#' example, suppose that you have resources tagged with values called
#' `admin` and `test`. If you specify both of these tag values in the
#' request, Amazon Redshift returns a response with all resources that have
#' either or both of these tag values associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' TaggedResources = list(
#' list(
#' Tag = list(
#' Key = "string",
#' Value = "string"
#' ),
#' ResourceName = "string",
#' ResourceType = "string"
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_tags(
#' ResourceName = "string",
#' ResourceType = "string",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_tags
redshift_describe_tags <- function(ResourceName = NULL, ResourceType = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeTags",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_tags_input(ResourceName = ResourceName, ResourceType = ResourceType, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_tags_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_tags <- redshift_describe_tags
#' Shows usage limits on a cluster
#'
#' @description
#' Shows usage limits on a cluster. Results are filtered based on the
#' combination of input usage limit identifier, cluster identifier, and
#' feature type parameters:
#'
#' - If usage limit identifier, cluster identifier, and feature type are
#' not provided, then all usage limit objects for the current account
#' in the current region are returned.
#'
#' - If usage limit identifier is provided, then the corresponding usage
#' limit object is returned.
#'
#' - If cluster identifier is provided, then all usage limit objects for
#' the specified cluster are returned.
#'
#' - If cluster identifier and feature type are provided, then all usage
#' limit objects for the combination of cluster and feature are
#' returned.
#'
#' @usage
#' redshift_describe_usage_limits(UsageLimitId, ClusterIdentifier,
#' FeatureType, MaxRecords, Marker, TagKeys, TagValues)
#'
#' @param UsageLimitId The identifier of the usage limit to describe.
#' @param ClusterIdentifier The identifier of the cluster for which you want to describe usage
#' limits.
#' @param FeatureType The feature type for which you want to describe usage limits.
#' @param MaxRecords The maximum number of response records to return in each call. If the
#' number of remaining response records exceeds the specified `MaxRecords`
#' value, a value is returned in a `marker` field of the response. You can
#' retrieve the next set of records by retrying the command with the
#' returned marker value.
#'
#' Default: `100`
#'
#' Constraints: minimum 20, maximum 100.
#' @param Marker An optional parameter that specifies the starting point to return a set
#' of response records. When the results of a
#' [`describe_usage_limits`][redshift_describe_usage_limits] request exceed
#' the value specified in `MaxRecords`, AWS returns a value in the `Marker`
#' field of the response. You can retrieve the next set of response records
#' by providing the returned marker value in the `Marker` parameter and
#' retrying the request.
#' @param TagKeys A tag key or keys for which you want to return all matching usage limit
#' objects that are associated with the specified key or keys. For example,
#' suppose that you have parameter groups that are tagged with keys called
#' `owner` and `environment`. If you specify both of these tag keys in the
#' request, Amazon Redshift returns a response with the usage limit objects
#' have either or both of these tag keys associated with them.
#' @param TagValues A tag value or values for which you want to return all matching usage
#' limit objects that are associated with the specified tag value or
#' values. For example, suppose that you have parameter groups that are
#' tagged with values called `admin` and `test`. If you specify both of
#' these tag values in the request, Amazon Redshift returns a response with
#' the usage limit objects that have either or both of these tag values
#' associated with them.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' UsageLimits = list(
#' list(
#' UsageLimitId = "string",
#' ClusterIdentifier = "string",
#' FeatureType = "spectrum"|"concurrency-scaling",
#' LimitType = "time"|"data-scanned",
#' Amount = 123,
#' Period = "daily"|"weekly"|"monthly",
#' BreachAction = "log"|"emit-metric"|"disable",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ),
#' Marker = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$describe_usage_limits(
#' UsageLimitId = "string",
#' ClusterIdentifier = "string",
#' FeatureType = "spectrum"|"concurrency-scaling",
#' MaxRecords = 123,
#' Marker = "string",
#' TagKeys = list(
#' "string"
#' ),
#' TagValues = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_describe_usage_limits
redshift_describe_usage_limits <- function(UsageLimitId = NULL, ClusterIdentifier = NULL, FeatureType = NULL, MaxRecords = NULL, Marker = NULL, TagKeys = NULL, TagValues = NULL) {
op <- new_operation(
name = "DescribeUsageLimits",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$describe_usage_limits_input(UsageLimitId = UsageLimitId, ClusterIdentifier = ClusterIdentifier, FeatureType = FeatureType, MaxRecords = MaxRecords, Marker = Marker, TagKeys = TagKeys, TagValues = TagValues)
output <- .redshift$describe_usage_limits_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$describe_usage_limits <- redshift_describe_usage_limits
#' Stops logging information, such as queries and connection attempts, for
#' the specified Amazon Redshift cluster
#'
#' @description
#' Stops logging information, such as queries and connection attempts, for
#' the specified Amazon Redshift cluster.
#'
#' @usage
#' redshift_disable_logging(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The identifier of the cluster on which logging is to be stopped.
#'
#' Example: `examplecluster`
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' LoggingEnabled = TRUE|FALSE,
#' BucketName = "string",
#' S3KeyPrefix = "string",
#' LastSuccessfulDeliveryTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' LastFailureTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' LastFailureMessage = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$disable_logging(
#' ClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_disable_logging
redshift_disable_logging <- function(ClusterIdentifier) {
op <- new_operation(
name = "DisableLogging",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$disable_logging_input(ClusterIdentifier = ClusterIdentifier)
output <- .redshift$disable_logging_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$disable_logging <- redshift_disable_logging
#' Disables the automatic copying of snapshots from one region to another
#' region for a specified cluster
#'
#' @description
#' Disables the automatic copying of snapshots from one region to another
#' region for a specified cluster.
#'
#' If your cluster and its snapshots are encrypted using a customer master
#' key (CMK) from AWS KMS, use
#' [`delete_snapshot_copy_grant`][redshift_delete_snapshot_copy_grant] to
#' delete the grant that grants Amazon Redshift permission to the CMK in
#' the destination region.
#'
#' @usage
#' redshift_disable_snapshot_copy(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The unique identifier of the source cluster that you want to disable
#' copying of snapshots to a destination region.
#'
#' Constraints: Must be the valid name of an existing cluster that has
#' cross-region snapshot copy enabled.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$disable_snapshot_copy(
#' ClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_disable_snapshot_copy
redshift_disable_snapshot_copy <- function(ClusterIdentifier) {
op <- new_operation(
name = "DisableSnapshotCopy",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$disable_snapshot_copy_input(ClusterIdentifier = ClusterIdentifier)
output <- .redshift$disable_snapshot_copy_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$disable_snapshot_copy <- redshift_disable_snapshot_copy
#' Starts logging information, such as queries and connection attempts, for
#' the specified Amazon Redshift cluster
#'
#' @description
#' Starts logging information, such as queries and connection attempts, for
#' the specified Amazon Redshift cluster.
#'
#' @usage
#' redshift_enable_logging(ClusterIdentifier, BucketName, S3KeyPrefix)
#'
#' @param ClusterIdentifier [required] The identifier of the cluster on which logging is to be started.
#'
#' Example: `examplecluster`
#' @param BucketName [required] The name of an existing S3 bucket where the log files are to be stored.
#'
#' Constraints:
#'
#' - Must be in the same region as the cluster
#'
#' - The cluster must have read bucket and put object permissions
#' @param S3KeyPrefix The prefix applied to the log file names.
#'
#' Constraints:
#'
#' - Cannot exceed 512 characters
#'
#' - Cannot contain spaces( ), double quotes ("), single quotes ('), a
#' backslash (\\), or control characters. The hexadecimal codes for
#' invalid characters are:
#'
#' - x00 to x20
#'
#' - x22
#'
#' - x27
#'
#' - x5c
#'
#' - x7f or larger
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' LoggingEnabled = TRUE|FALSE,
#' BucketName = "string",
#' S3KeyPrefix = "string",
#' LastSuccessfulDeliveryTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' LastFailureTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' LastFailureMessage = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$enable_logging(
#' ClusterIdentifier = "string",
#' BucketName = "string",
#' S3KeyPrefix = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_enable_logging
redshift_enable_logging <- function(ClusterIdentifier, BucketName, S3KeyPrefix = NULL) {
op <- new_operation(
name = "EnableLogging",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$enable_logging_input(ClusterIdentifier = ClusterIdentifier, BucketName = BucketName, S3KeyPrefix = S3KeyPrefix)
output <- .redshift$enable_logging_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$enable_logging <- redshift_enable_logging
#' Enables the automatic copy of snapshots from one region to another
#' region for a specified cluster
#'
#' @description
#' Enables the automatic copy of snapshots from one region to another
#' region for a specified cluster.
#'
#' @usage
#' redshift_enable_snapshot_copy(ClusterIdentifier, DestinationRegion,
#' RetentionPeriod, SnapshotCopyGrantName, ManualSnapshotRetentionPeriod)
#'
#' @param ClusterIdentifier [required] The unique identifier of the source cluster to copy snapshots from.
#'
#' Constraints: Must be the valid name of an existing cluster that does not
#' already have cross-region snapshot copy enabled.
#' @param DestinationRegion [required] The destination AWS Region that you want to copy snapshots to.
#'
#' Constraints: Must be the name of a valid AWS Region. For more
#' information, see [Regions and
#' Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region)
#' in the Amazon Web Services General Reference.
#' @param RetentionPeriod The number of days to retain automated snapshots in the destination
#' region after they are copied from the source region.
#'
#' Default: 7.
#'
#' Constraints: Must be at least 1 and no more than 35.
#' @param SnapshotCopyGrantName The name of the snapshot copy grant to use when snapshots of an AWS
#' KMS-encrypted cluster are copied to the destination region.
#' @param ManualSnapshotRetentionPeriod The number of days to retain newly copied snapshots in the destination
#' AWS Region after they are copied from the source AWS Region. If the
#' value is -1, the manual snapshot is retained indefinitely.
#'
#' The value must be either -1 or an integer between 1 and 3,653.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$enable_snapshot_copy(
#' ClusterIdentifier = "string",
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' SnapshotCopyGrantName = "string",
#' ManualSnapshotRetentionPeriod = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_enable_snapshot_copy
redshift_enable_snapshot_copy <- function(ClusterIdentifier, DestinationRegion, RetentionPeriod = NULL, SnapshotCopyGrantName = NULL, ManualSnapshotRetentionPeriod = NULL) {
op <- new_operation(
name = "EnableSnapshotCopy",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$enable_snapshot_copy_input(ClusterIdentifier = ClusterIdentifier, DestinationRegion = DestinationRegion, RetentionPeriod = RetentionPeriod, SnapshotCopyGrantName = SnapshotCopyGrantName, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod)
output <- .redshift$enable_snapshot_copy_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$enable_snapshot_copy <- redshift_enable_snapshot_copy
#' Returns a database user name and temporary password with temporary
#' authorization to log on to an Amazon Redshift database
#'
#' @description
#' Returns a database user name and temporary password with temporary
#' authorization to log on to an Amazon Redshift database. The action
#' returns the database user name prefixed with `IAM:` if `AutoCreate` is
#' `False` or `IAMA:` if `AutoCreate` is `True`. You can optionally specify
#' one or more database user groups that the user will join at log on. By
#' default, the temporary credentials expire in 900 seconds. You can
#' optionally specify a duration between 900 seconds (15 minutes) and 3600
#' seconds (60 minutes). For more information, see [Using IAM
#' Authentication to Generate Database User
#' Credentials](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html)
#' in the Amazon Redshift Cluster Management Guide.
#'
#' The AWS Identity and Access Management (IAM)user or role that executes
#' GetClusterCredentials must have an IAM policy attached that allows
#' access to all necessary actions and resources. For more information
#' about permissions, see [Resource Policies for
#' GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources)
#' in the Amazon Redshift Cluster Management Guide.
#'
#' If the `DbGroups` parameter is specified, the IAM policy must allow the
#' `redshift:JoinGroup` action with access to the listed `dbgroups`.
#'
#' In addition, if the `AutoCreate` parameter is set to `True`, then the
#' policy must include the `redshift:CreateClusterUser` privilege.
#'
#' If the `DbName` parameter is specified, the IAM policy must allow access
#' to the resource `dbname` for the specified database name.
#'
#' @usage
#' redshift_get_cluster_credentials(DbUser, DbName, ClusterIdentifier,
#' DurationSeconds, AutoCreate, DbGroups)
#'
#' @param DbUser [required] The name of a database user. If a user name matching `DbUser` exists in
#' the database, the temporary user credentials have the same permissions
#' as the existing user. If `DbUser` doesn't exist in the database and
#' `Autocreate` is `True`, a new user is created using the value for
#' `DbUser` with PUBLIC permissions. If a database user matching the value
#' for `DbUser` doesn't exist and `Autocreate` is `False`, then the command
#' succeeds but the connection attempt will fail because the user doesn't
#' exist in the database.
#'
#' For more information, see [CREATE
#' USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html)
#' in the Amazon Redshift Database Developer Guide.
#'
#' Constraints:
#'
#' - Must be 1 to 64 alphanumeric characters or hyphens. The user name
#' can't be `PUBLIC`.
#'
#' - Must contain only lowercase letters, numbers, underscore, plus sign,
#' period (dot), at symbol (@@), or hyphen.
#'
#' - First character must be a letter.
#'
#' - Must not contain a colon ( : ) or slash ( / ).
#'
#' - Cannot be a reserved word. A list of reserved words can be found in
#' [Reserved
#' Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
#' in the Amazon Redshift Database Developer Guide.
#' @param DbName The name of a database that `DbUser` is authorized to log on to. If
#' `DbName` is not specified, `DbUser` can log on to any existing database.
#'
#' Constraints:
#'
#' - Must be 1 to 64 alphanumeric characters or hyphens
#'
#' - Must contain only lowercase letters, numbers, underscore, plus sign,
#' period (dot), at symbol (@@), or hyphen.
#'
#' - First character must be a letter.
#'
#' - Must not contain a colon ( : ) or slash ( / ).
#'
#' - Cannot be a reserved word. A list of reserved words can be found in
#' [Reserved
#' Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
#' in the Amazon Redshift Database Developer Guide.
#' @param ClusterIdentifier [required] The unique identifier of the cluster that contains the database for
#' which your are requesting credentials. This parameter is case sensitive.
#' @param DurationSeconds The number of seconds until the returned temporary password expires.
#'
#' Constraint: minimum 900, maximum 3600.
#'
#' Default: 900
#' @param AutoCreate Create a database user with the name specified for the user named in
#' `DbUser` if one does not exist.
#' @param DbGroups A list of the names of existing database groups that the user named in
#' `DbUser` will join for the current session, in addition to any group
#' memberships for an existing user. If not specified, a new user is added
#' only to PUBLIC.
#'
#' Database group name constraints
#'
#' - Must be 1 to 64 alphanumeric characters or hyphens
#'
#' - Must contain only lowercase letters, numbers, underscore, plus sign,
#' period (dot), at symbol (@@), or hyphen.
#'
#' - First character must be a letter.
#'
#' - Must not contain a colon ( : ) or slash ( / ).
#'
#' - Cannot be a reserved word. A list of reserved words can be found in
#' [Reserved
#' Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
#' in the Amazon Redshift Database Developer Guide.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' DbUser = "string",
#' DbPassword = "string",
#' Expiration = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$get_cluster_credentials(
#' DbUser = "string",
#' DbName = "string",
#' ClusterIdentifier = "string",
#' DurationSeconds = 123,
#' AutoCreate = TRUE|FALSE,
#' DbGroups = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_get_cluster_credentials
redshift_get_cluster_credentials <- function(DbUser, DbName = NULL, ClusterIdentifier, DurationSeconds = NULL, AutoCreate = NULL, DbGroups = NULL) {
op <- new_operation(
name = "GetClusterCredentials",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$get_cluster_credentials_input(DbUser = DbUser, DbName = DbName, ClusterIdentifier = ClusterIdentifier, DurationSeconds = DurationSeconds, AutoCreate = AutoCreate, DbGroups = DbGroups)
output <- .redshift$get_cluster_credentials_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$get_cluster_credentials <- redshift_get_cluster_credentials
#' Returns an array of DC2 ReservedNodeOfferings that matches the payment
#' type, term, and usage price of the given DC1 reserved node
#'
#' @description
#' Returns an array of DC2 ReservedNodeOfferings that matches the payment
#' type, term, and usage price of the given DC1 reserved node.
#'
#' @usage
#' redshift_get_reserved_node_exchange_offerings(ReservedNodeId,
#' MaxRecords, Marker)
#'
#' @param ReservedNodeId [required] A string representing the node identifier for the DC1 Reserved Node to
#' be exchanged.
#' @param MaxRecords An integer setting the maximum number of ReservedNodeOfferings to
#' retrieve.
#' @param Marker A value that indicates the starting point for the next set of
#' ReservedNodeOfferings.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Marker = "string",
#' ReservedNodeOfferings = list(
#' list(
#' ReservedNodeOfferingId = "string",
#' NodeType = "string",
#' Duration = 123,
#' FixedPrice = 123.0,
#' UsagePrice = 123.0,
#' CurrencyCode = "string",
#' OfferingType = "string",
#' RecurringCharges = list(
#' list(
#' RecurringChargeAmount = 123.0,
#' RecurringChargeFrequency = "string"
#' )
#' ),
#' ReservedNodeOfferingType = "Regular"|"Upgradable"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$get_reserved_node_exchange_offerings(
#' ReservedNodeId = "string",
#' MaxRecords = 123,
#' Marker = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_get_reserved_node_exchange_offerings
redshift_get_reserved_node_exchange_offerings <- function(ReservedNodeId, MaxRecords = NULL, Marker = NULL) {
op <- new_operation(
name = "GetReservedNodeExchangeOfferings",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$get_reserved_node_exchange_offerings_input(ReservedNodeId = ReservedNodeId, MaxRecords = MaxRecords, Marker = Marker)
output <- .redshift$get_reserved_node_exchange_offerings_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$get_reserved_node_exchange_offerings <- redshift_get_reserved_node_exchange_offerings
#' Modifies the settings for a cluster
#'
#' @description
#' Modifies the settings for a cluster.
#'
#' You can also change node type and the number of nodes to scale up or
#' down the cluster. When resizing a cluster, you must specify both the
#' number of nodes and the node type even if one of the parameters does not
#' change.
#'
#' You can add another security or parameter group, or change the master
#' user password. Resetting a cluster password or modifying the security
#' groups associated with a cluster do not need a reboot. However,
#' modifying a parameter group requires a reboot for parameters to take
#' effect. For more information about managing clusters, go to [Amazon
#' Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_modify_cluster(ClusterIdentifier, ClusterType, NodeType,
#' NumberOfNodes, ClusterSecurityGroups, VpcSecurityGroupIds,
#' MasterUserPassword, ClusterParameterGroupName,
#' AutomatedSnapshotRetentionPeriod, ManualSnapshotRetentionPeriod,
#' PreferredMaintenanceWindow, ClusterVersion, AllowVersionUpgrade,
#' HsmClientCertificateIdentifier, HsmConfigurationIdentifier,
#' NewClusterIdentifier, PubliclyAccessible, ElasticIp, EnhancedVpcRouting,
#' MaintenanceTrackName, Encrypted, KmsKeyId, AvailabilityZoneRelocation,
#' AvailabilityZone, Port)
#'
#' @param ClusterIdentifier [required] The unique identifier of the cluster to be modified.
#'
#' Example: `examplecluster`
#' @param ClusterType The new cluster type.
#'
#' When you submit your cluster resize request, your existing cluster goes
#' into a read-only mode. After Amazon Redshift provisions a new cluster
#' based on your resize requirements, there will be outage for a period
#' while the old cluster is deleted and your connection is switched to the
#' new cluster. You can use [`describe_resize`][redshift_describe_resize]
#' to track the progress of the resize request.
#'
#' Valid Values: ` multi-node | single-node `
#' @param NodeType The new node type of the cluster. If you specify a new node type, you
#' must also specify the number of nodes parameter.
#'
#' For more information about resizing clusters, go to [Resizing Clusters
#' in Amazon
#' Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-operations.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' Valid Values: `ds2.xlarge` | `ds2.8xlarge` | `dc1.large` | `dc1.8xlarge`
#' | `dc2.large` | `dc2.8xlarge` | `ra3.xlplus` | `ra3.4xlarge` |
#' `ra3.16xlarge`
#' @param NumberOfNodes The new number of nodes of the cluster. If you specify a new number of
#' nodes, you must also specify the node type parameter.
#'
#' For more information about resizing clusters, go to [Resizing Clusters
#' in Amazon
#' Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-operations.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' Valid Values: Integer greater than `0`.
#' @param ClusterSecurityGroups A list of cluster security groups to be authorized on this cluster. This
#' change is asynchronously applied as soon as possible.
#'
#' Security groups currently associated with the cluster, and not in the
#' list of groups to apply, will be revoked from the cluster.
#'
#' 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
#' @param VpcSecurityGroupIds A list of virtual private cloud (VPC) security groups to be associated
#' with the cluster. This change is asynchronously applied as soon as
#' possible.
#' @param MasterUserPassword The new password for the cluster master user. This change is
#' asynchronously applied as soon as possible. Between the time of the
#' request and the completion of the request, the `MasterUserPassword`
#' element exists in the `PendingModifiedValues` element of the operation
#' response.
#'
#' Operations never return the password, so this operation provides a way
#' to regain access to the master user account for a cluster if the
#' password is lost.
#'
#' Default: Uses existing setting.
#'
#' Constraints:
#'
#' - Must be between 8 and 64 characters in length.
#'
#' - Must contain at least one uppercase letter.
#'
#' - Must contain at least one lowercase letter.
#'
#' - Must contain one number.
#'
#' - Can be any printable ASCII character (ASCII code 33 to 126) except '
#' (single quote), " (double quote), \\, /, @@, or space.
#' @param ClusterParameterGroupName The name of the cluster parameter group to apply to this cluster. This
#' change is applied only after the cluster is rebooted. To reboot a
#' cluster use [`reboot_cluster`][redshift_reboot_cluster].
#'
#' Default: Uses existing setting.
#'
#' Constraints: The cluster parameter group must be in the same parameter
#' group family that matches the cluster version.
#' @param AutomatedSnapshotRetentionPeriod 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
#' [`create_cluster_snapshot`][redshift_create_cluster_snapshot].
#'
#' If you decrease the automated snapshot retention period from its current
#' value, existing automated snapshots that fall outside of the new
#' retention period will be immediately deleted.
#'
#' Default: Uses existing setting.
#'
#' Constraints: Must be a value from 0 to 35.
#' @param ManualSnapshotRetentionPeriod The default for number of days that a newly created manual snapshot is
#' retained. If the value is -1, the manual snapshot is retained
#' indefinitely. This value doesn't retroactively change the retention
#' periods of existing manual snapshots.
#'
#' The value must be either -1 or an integer between 1 and 3,653.
#'
#' The default value is -1.
#' @param PreferredMaintenanceWindow The weekly time range (in UTC) during which system maintenance can
#' occur, if necessary. If system maintenance is necessary during the
#' window, it may result in an outage.
#'
#' This maintenance window change is made immediately. If the new
#' maintenance window indicates the current time, there must be at least
#' 120 minutes between the current time and end of the window in order to
#' ensure that pending changes are applied.
#'
#' Default: Uses existing setting.
#'
#' Format: ddd:hh24:mi-ddd:hh24:mi, for example `wed:07:30-wed:08:00`.
#'
#' Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
#'
#' Constraints: Must be at least 30 minutes.
#' @param ClusterVersion The new version number of the Amazon Redshift engine to upgrade to.
#'
#' For major version upgrades, if a non-default cluster parameter group is
#' currently in use, a new cluster parameter group in the cluster parameter
#' group family for the new version must be specified. The new cluster
#' parameter group can be the default for that cluster parameter group
#' family. For more information about parameters and parameter groups, go
#' to [Amazon Redshift Parameter
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' Example: `1.0`
#' @param AllowVersionUpgrade If `true`, major version upgrades will be applied automatically to the
#' cluster during the maintenance window.
#'
#' Default: `false`
#' @param HsmClientCertificateIdentifier Specifies the name of the HSM client certificate the Amazon Redshift
#' cluster uses to retrieve the data encryption keys stored in an HSM.
#' @param HsmConfigurationIdentifier 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.
#' @param NewClusterIdentifier The new identifier for the cluster.
#'
#' 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 AWS account.
#'
#' Example: `examplecluster`
#' @param PubliclyAccessible If `true`, the cluster can be accessed from a public network. Only
#' clusters in VPCs can be set to be publicly available.
#' @param ElasticIp The Elastic IP (EIP) address for the cluster.
#'
#' Constraints: The cluster must be provisioned in EC2-VPC and
#' publicly-accessible through an Internet gateway. For more information
#' about provisioning clusters in EC2-VPC, go to [Supported Platforms to
#' Launch Your
#' Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms)
#' in the Amazon Redshift Cluster Management Guide.
#' @param EnhancedVpcRouting 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](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
#' in the Amazon Redshift Cluster Management Guide.
#'
#' If this option is `true`, enhanced VPC routing is enabled.
#'
#' Default: false
#' @param MaintenanceTrackName The name for the maintenance track that you want to assign for the
#' cluster. This name change is asynchronous. The new track name stays in
#' the `PendingModifiedValues` for the cluster until the next maintenance
#' window. When the maintenance track changes, the cluster is switched to
#' the latest cluster release available for the maintenance track. At this
#' point, the maintenance track name is applied.
#' @param Encrypted Indicates whether the cluster is encrypted. If the value is encrypted
#' (true) and you provide a value for the `KmsKeyId` parameter, we encrypt
#' the cluster with the provided `KmsKeyId`. If you don't provide a
#' `KmsKeyId`, we encrypt with the default key.
#'
#' If the value is not encrypted (false), then the cluster is decrypted.
#' @param KmsKeyId The AWS Key Management Service (KMS) key ID of the encryption key that
#' you want to use to encrypt data in the cluster.
#' @param AvailabilityZoneRelocation The option to enable relocation for an Amazon Redshift cluster between
#' Availability Zones after the cluster modification is complete.
#' @param AvailabilityZone The option to initiate relocation for an Amazon Redshift cluster to the
#' target Availability Zone.
#' @param Port The option to change the port of an Amazon Redshift cluster.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster(
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterSecurityGroups = list(
#' "string"
#' ),
#' VpcSecurityGroupIds = list(
#' "string"
#' ),
#' MasterUserPassword = "string",
#' ClusterParameterGroupName = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' PreferredMaintenanceWindow = "string",
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' NewClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' ElasticIp = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' AvailabilityZoneRelocation = TRUE|FALSE,
#' AvailabilityZone = "string",
#' Port = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster
redshift_modify_cluster <- function(ClusterIdentifier, ClusterType = NULL, NodeType = NULL, NumberOfNodes = NULL, ClusterSecurityGroups = NULL, VpcSecurityGroupIds = NULL, MasterUserPassword = NULL, ClusterParameterGroupName = NULL, AutomatedSnapshotRetentionPeriod = NULL, ManualSnapshotRetentionPeriod = NULL, PreferredMaintenanceWindow = NULL, ClusterVersion = NULL, AllowVersionUpgrade = NULL, HsmClientCertificateIdentifier = NULL, HsmConfigurationIdentifier = NULL, NewClusterIdentifier = NULL, PubliclyAccessible = NULL, ElasticIp = NULL, EnhancedVpcRouting = NULL, MaintenanceTrackName = NULL, Encrypted = NULL, KmsKeyId = NULL, AvailabilityZoneRelocation = NULL, AvailabilityZone = NULL, Port = NULL) {
op <- new_operation(
name = "ModifyCluster",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_input(ClusterIdentifier = ClusterIdentifier, ClusterType = ClusterType, NodeType = NodeType, NumberOfNodes = NumberOfNodes, ClusterSecurityGroups = ClusterSecurityGroups, VpcSecurityGroupIds = VpcSecurityGroupIds, MasterUserPassword = MasterUserPassword, ClusterParameterGroupName = ClusterParameterGroupName, AutomatedSnapshotRetentionPeriod = AutomatedSnapshotRetentionPeriod, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod, PreferredMaintenanceWindow = PreferredMaintenanceWindow, ClusterVersion = ClusterVersion, AllowVersionUpgrade = AllowVersionUpgrade, HsmClientCertificateIdentifier = HsmClientCertificateIdentifier, HsmConfigurationIdentifier = HsmConfigurationIdentifier, NewClusterIdentifier = NewClusterIdentifier, PubliclyAccessible = PubliclyAccessible, ElasticIp = ElasticIp, EnhancedVpcRouting = EnhancedVpcRouting, MaintenanceTrackName = MaintenanceTrackName, Encrypted = Encrypted, KmsKeyId = KmsKeyId, AvailabilityZoneRelocation = AvailabilityZoneRelocation, AvailabilityZone = AvailabilityZone, Port = Port)
output <- .redshift$modify_cluster_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster <- redshift_modify_cluster
#' Modifies the database revision of a cluster
#'
#' @description
#' Modifies the database revision of a cluster. The database revision is a
#' unique revision of the database running in a cluster.
#'
#' @usage
#' redshift_modify_cluster_db_revision(ClusterIdentifier, RevisionTarget)
#'
#' @param ClusterIdentifier [required] The unique identifier of a cluster whose database revision you want to
#' modify.
#'
#' Example: `examplecluster`
#' @param RevisionTarget [required] The identifier of the database revision. You can retrieve this value
#' from the response to the
#' [`describe_cluster_db_revisions`][redshift_describe_cluster_db_revisions]
#' request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_db_revision(
#' ClusterIdentifier = "string",
#' RevisionTarget = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_db_revision
redshift_modify_cluster_db_revision <- function(ClusterIdentifier, RevisionTarget) {
op <- new_operation(
name = "ModifyClusterDbRevision",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_db_revision_input(ClusterIdentifier = ClusterIdentifier, RevisionTarget = RevisionTarget)
output <- .redshift$modify_cluster_db_revision_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_db_revision <- redshift_modify_cluster_db_revision
#' Modifies the list of AWS Identity and Access Management (IAM) roles that
#' can be used by the cluster to access other AWS services
#'
#' @description
#' Modifies the list of AWS Identity and Access Management (IAM) roles that
#' can be used by the cluster to access other AWS services.
#'
#' A cluster can have up to 10 IAM roles associated at any time.
#'
#' @usage
#' redshift_modify_cluster_iam_roles(ClusterIdentifier, AddIamRoles,
#' RemoveIamRoles)
#'
#' @param ClusterIdentifier [required] The unique identifier of the cluster for which you want to associate or
#' disassociate IAM roles.
#' @param AddIamRoles Zero or more IAM roles to associate with the cluster. The roles must be
#' in their Amazon Resource Name (ARN) format. You can associate up to 10
#' IAM roles with a single cluster in a single request.
#' @param RemoveIamRoles Zero or more IAM roles in ARN format to disassociate from the cluster.
#' You can disassociate up to 10 IAM roles from a single cluster in a
#' single request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_iam_roles(
#' ClusterIdentifier = "string",
#' AddIamRoles = list(
#' "string"
#' ),
#' RemoveIamRoles = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_iam_roles
redshift_modify_cluster_iam_roles <- function(ClusterIdentifier, AddIamRoles = NULL, RemoveIamRoles = NULL) {
op <- new_operation(
name = "ModifyClusterIamRoles",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_iam_roles_input(ClusterIdentifier = ClusterIdentifier, AddIamRoles = AddIamRoles, RemoveIamRoles = RemoveIamRoles)
output <- .redshift$modify_cluster_iam_roles_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_iam_roles <- redshift_modify_cluster_iam_roles
#' Modifies the maintenance settings of a cluster
#'
#' @description
#' Modifies the maintenance settings of a cluster.
#'
#' @usage
#' redshift_modify_cluster_maintenance(ClusterIdentifier, DeferMaintenance,
#' DeferMaintenanceIdentifier, DeferMaintenanceStartTime,
#' DeferMaintenanceEndTime, DeferMaintenanceDuration)
#'
#' @param ClusterIdentifier [required] A unique identifier for the cluster.
#' @param DeferMaintenance A boolean indicating whether to enable the deferred maintenance window.
#' @param DeferMaintenanceIdentifier A unique identifier for the deferred maintenance window.
#' @param DeferMaintenanceStartTime A timestamp indicating the start time for the deferred maintenance
#' window.
#' @param DeferMaintenanceEndTime A timestamp indicating end time for the deferred maintenance window. If
#' you specify an end time, you can't specify a duration.
#' @param DeferMaintenanceDuration An integer indicating the duration of the maintenance window in days. If
#' you specify a duration, you can't specify an end time. The duration must
#' be 45 days or less.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_maintenance(
#' ClusterIdentifier = "string",
#' DeferMaintenance = TRUE|FALSE,
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceDuration = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_maintenance
redshift_modify_cluster_maintenance <- function(ClusterIdentifier, DeferMaintenance = NULL, DeferMaintenanceIdentifier = NULL, DeferMaintenanceStartTime = NULL, DeferMaintenanceEndTime = NULL, DeferMaintenanceDuration = NULL) {
op <- new_operation(
name = "ModifyClusterMaintenance",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_maintenance_input(ClusterIdentifier = ClusterIdentifier, DeferMaintenance = DeferMaintenance, DeferMaintenanceIdentifier = DeferMaintenanceIdentifier, DeferMaintenanceStartTime = DeferMaintenanceStartTime, DeferMaintenanceEndTime = DeferMaintenanceEndTime, DeferMaintenanceDuration = DeferMaintenanceDuration)
output <- .redshift$modify_cluster_maintenance_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_maintenance <- redshift_modify_cluster_maintenance
#' Modifies the parameters of a parameter group
#'
#' @description
#' Modifies the parameters of a parameter group.
#'
#' For more information about parameters and parameter groups, go to
#' [Amazon Redshift Parameter
#' Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_modify_cluster_parameter_group(ParameterGroupName, Parameters)
#'
#' @param ParameterGroupName [required] The name of the parameter group to be modified.
#' @param Parameters [required] An array of parameters to be modified. A maximum of 20 parameters can be
#' modified in a single request.
#'
#' For each parameter to be modified, you must supply at least the
#' parameter name and parameter value; other name-value pairs of the
#' parameter are optional.
#'
#' For the workload management (WLM) configuration, you must supply all the
#' name-value pairs in the wlm_json_configuration parameter.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ParameterGroupName = "string",
#' ParameterGroupStatus = "string"
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_parameter_group(
#' ParameterGroupName = "string",
#' Parameters = list(
#' list(
#' ParameterName = "string",
#' ParameterValue = "string",
#' Description = "string",
#' Source = "string",
#' DataType = "string",
#' AllowedValues = "string",
#' ApplyType = "static"|"dynamic",
#' IsModifiable = TRUE|FALSE,
#' MinimumEngineVersion = "string"
#' )
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_parameter_group
redshift_modify_cluster_parameter_group <- function(ParameterGroupName, Parameters) {
op <- new_operation(
name = "ModifyClusterParameterGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_parameter_group_input(ParameterGroupName = ParameterGroupName, Parameters = Parameters)
output <- .redshift$modify_cluster_parameter_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_parameter_group <- redshift_modify_cluster_parameter_group
#' Modifies the settings for a snapshot
#'
#' @description
#' Modifies the settings for a snapshot.
#'
#' This exanmple modifies the manual retention period setting for a cluster
#' snapshot.
#'
#' @usage
#' redshift_modify_cluster_snapshot(SnapshotIdentifier,
#' ManualSnapshotRetentionPeriod, Force)
#'
#' @param SnapshotIdentifier [required] The identifier of the snapshot whose setting you want to modify.
#' @param ManualSnapshotRetentionPeriod The number of days that a manual snapshot is retained. If the value is
#' -1, the manual snapshot is retained indefinitely.
#'
#' If the manual snapshot falls outside of the new retention period, you
#' can specify the force option to immediately delete the snapshot.
#'
#' The value must be either -1 or an integer between 1 and 3,653.
#' @param Force A Boolean option to override an exception if the retention period has
#' already passed.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Snapshot = list(
#' SnapshotIdentifier = "string",
#' ClusterIdentifier = "string",
#' SnapshotCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Status = "string",
#' Port = 123,
#' AvailabilityZone = "string",
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' MasterUsername = "string",
#' ClusterVersion = "string",
#' EngineFullVersion = "string",
#' SnapshotType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' DBName = "string",
#' VpcId = "string",
#' Encrypted = TRUE|FALSE,
#' KmsKeyId = "string",
#' EncryptedWithHSM = TRUE|FALSE,
#' AccountsWithRestoreAccess = list(
#' list(
#' AccountId = "string",
#' AccountAlias = "string"
#' )
#' ),
#' OwnerAccount = "string",
#' TotalBackupSizeInMegaBytes = 123.0,
#' ActualIncrementalBackupSizeInMegaBytes = 123.0,
#' BackupProgressInMegaBytes = 123.0,
#' CurrentBackupRateInMegaBytesPerSecond = 123.0,
#' EstimatedSecondsToCompletion = 123,
#' ElapsedTimeInSeconds = 123,
#' SourceRegion = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' RestorableNodeTypes = list(
#' "string"
#' ),
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' ManualSnapshotRemainingDays = 123,
#' SnapshotRetentionStartTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_snapshot(
#' SnapshotIdentifier = "string",
#' ManualSnapshotRetentionPeriod = 123,
#' Force = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_snapshot
redshift_modify_cluster_snapshot <- function(SnapshotIdentifier, ManualSnapshotRetentionPeriod = NULL, Force = NULL) {
op <- new_operation(
name = "ModifyClusterSnapshot",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_snapshot_input(SnapshotIdentifier = SnapshotIdentifier, ManualSnapshotRetentionPeriod = ManualSnapshotRetentionPeriod, Force = Force)
output <- .redshift$modify_cluster_snapshot_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_snapshot <- redshift_modify_cluster_snapshot
#' Modifies a snapshot schedule for a cluster
#'
#' @description
#' Modifies a snapshot schedule for a cluster.
#'
#' @usage
#' redshift_modify_cluster_snapshot_schedule(ClusterIdentifier,
#' ScheduleIdentifier, DisassociateSchedule)
#'
#' @param ClusterIdentifier [required] A unique identifier for the cluster whose snapshot schedule you want to
#' modify.
#' @param ScheduleIdentifier A unique alphanumeric identifier for the schedule that you want to
#' associate with the cluster.
#' @param DisassociateSchedule A boolean to indicate whether to remove the assoiciation between the
#' cluster and the schedule.
#'
#' @return
#' An empty list.
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_snapshot_schedule(
#' ClusterIdentifier = "string",
#' ScheduleIdentifier = "string",
#' DisassociateSchedule = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_snapshot_schedule
redshift_modify_cluster_snapshot_schedule <- function(ClusterIdentifier, ScheduleIdentifier = NULL, DisassociateSchedule = NULL) {
op <- new_operation(
name = "ModifyClusterSnapshotSchedule",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_snapshot_schedule_input(ClusterIdentifier = ClusterIdentifier, ScheduleIdentifier = ScheduleIdentifier, DisassociateSchedule = DisassociateSchedule)
output <- .redshift$modify_cluster_snapshot_schedule_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_snapshot_schedule <- redshift_modify_cluster_snapshot_schedule
#' Modifies a cluster subnet group to include the specified list of VPC
#' subnets
#'
#' @description
#' Modifies a cluster subnet group to include the specified list of VPC
#' subnets. The operation replaces the existing list of subnets with the
#' new list of subnets.
#'
#' @usage
#' redshift_modify_cluster_subnet_group(ClusterSubnetGroupName,
#' Description, SubnetIds)
#'
#' @param ClusterSubnetGroupName [required] The name of the subnet group to be modified.
#' @param Description A text description of the subnet group to be modified.
#' @param SubnetIds [required] An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a
#' single request.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ClusterSubnetGroup = list(
#' ClusterSubnetGroupName = "string",
#' Description = "string",
#' VpcId = "string",
#' SubnetGroupStatus = "string",
#' Subnets = list(
#' list(
#' SubnetIdentifier = "string",
#' SubnetAvailabilityZone = list(
#' Name = "string",
#' SupportedPlatforms = list(
#' list(
#' Name = "string"
#' )
#' )
#' ),
#' SubnetStatus = "string"
#' )
#' ),
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_cluster_subnet_group(
#' ClusterSubnetGroupName = "string",
#' Description = "string",
#' SubnetIds = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_cluster_subnet_group
redshift_modify_cluster_subnet_group <- function(ClusterSubnetGroupName, Description = NULL, SubnetIds) {
op <- new_operation(
name = "ModifyClusterSubnetGroup",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_cluster_subnet_group_input(ClusterSubnetGroupName = ClusterSubnetGroupName, Description = Description, SubnetIds = SubnetIds)
output <- .redshift$modify_cluster_subnet_group_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_cluster_subnet_group <- redshift_modify_cluster_subnet_group
#' Modifies an existing Amazon Redshift event notification subscription
#'
#' @description
#' Modifies an existing Amazon Redshift event notification subscription.
#'
#' @usage
#' redshift_modify_event_subscription(SubscriptionName, SnsTopicArn,
#' SourceType, SourceIds, EventCategories, Severity, Enabled)
#'
#' @param SubscriptionName [required] The name of the modified Amazon Redshift event notification
#' subscription.
#' @param SnsTopicArn The Amazon Resource Name (ARN) of the SNS topic to be used by the event
#' notification subscription.
#' @param SourceType The type of source that will be generating the events. For example, if
#' you want to be notified of events generated by a cluster, you would set
#' this parameter to cluster. If this value is not specified, events are
#' returned for all Amazon Redshift objects in your AWS account. You must
#' specify a source type in order to specify source IDs.
#'
#' Valid values: cluster, cluster-parameter-group, cluster-security-group,
#' cluster-snapshot, and scheduled-action.
#' @param SourceIds A list of one or more identifiers of Amazon Redshift source objects. All
#' of the objects must be of the same type as was specified in the source
#' type parameter. The event subscription will return only events generated
#' by the specified objects. If not specified, then events are returned for
#' all objects within the source type specified.
#'
#' Example: my-cluster-1, my-cluster-2
#'
#' Example: my-snapshot-20131010
#' @param EventCategories Specifies the Amazon Redshift event categories to be published by the
#' event notification subscription.
#'
#' Values: configuration, management, monitoring, security
#' @param Severity Specifies the Amazon Redshift event severity to be published by the
#' event notification subscription.
#'
#' Values: ERROR, INFO
#' @param Enabled A Boolean value indicating if the subscription is enabled. `true`
#' indicates the subscription is enabled
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' EventSubscription = list(
#' CustomerAwsId = "string",
#' CustSubscriptionId = "string",
#' SnsTopicArn = "string",
#' Status = "string",
#' SubscriptionCreationTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' SourceType = "string",
#' SourceIdsList = list(
#' "string"
#' ),
#' EventCategoriesList = list(
#' "string"
#' ),
#' Severity = "string",
#' Enabled = TRUE|FALSE,
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_event_subscription(
#' SubscriptionName = "string",
#' SnsTopicArn = "string",
#' SourceType = "string",
#' SourceIds = list(
#' "string"
#' ),
#' EventCategories = list(
#' "string"
#' ),
#' Severity = "string",
#' Enabled = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_event_subscription
redshift_modify_event_subscription <- function(SubscriptionName, SnsTopicArn = NULL, SourceType = NULL, SourceIds = NULL, EventCategories = NULL, Severity = NULL, Enabled = NULL) {
op <- new_operation(
name = "ModifyEventSubscription",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_event_subscription_input(SubscriptionName = SubscriptionName, SnsTopicArn = SnsTopicArn, SourceType = SourceType, SourceIds = SourceIds, EventCategories = EventCategories, Severity = Severity, Enabled = Enabled)
output <- .redshift$modify_event_subscription_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_event_subscription <- redshift_modify_event_subscription
#' Modifies a scheduled action
#'
#' @description
#' Modifies a scheduled action.
#'
#' @usage
#' redshift_modify_scheduled_action(ScheduledActionName, TargetAction,
#' Schedule, IamRole, ScheduledActionDescription, StartTime, EndTime,
#' Enable)
#'
#' @param ScheduledActionName [required] The name of the scheduled action to modify.
#' @param TargetAction A modified JSON format of the scheduled action. For more information
#' about this parameter, see ScheduledAction.
#' @param Schedule A modified schedule in either `at( )` or `cron( )` format. For more
#' information about this parameter, see ScheduledAction.
#' @param IamRole A different IAM role to assume to run the target action. For more
#' information about this parameter, see ScheduledAction.
#' @param ScheduledActionDescription A modified description of the scheduled action.
#' @param StartTime A modified start time of the scheduled action. For more information
#' about this parameter, see ScheduledAction.
#' @param EndTime A modified end time of the scheduled action. For more information about
#' this parameter, see ScheduledAction.
#' @param Enable A modified enable flag of the scheduled action. If true, the scheduled
#' action is active. If false, the scheduled action is disabled.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ScheduledActionName = "string",
#' TargetAction = list(
#' ResizeCluster = list(
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' Classic = TRUE|FALSE
#' ),
#' PauseCluster = list(
#' ClusterIdentifier = "string"
#' ),
#' ResumeCluster = list(
#' ClusterIdentifier = "string"
#' )
#' ),
#' Schedule = "string",
#' IamRole = "string",
#' ScheduledActionDescription = "string",
#' State = "ACTIVE"|"DISABLED",
#' NextInvocations = list(
#' as.POSIXct(
#' "2015-01-01"
#' )
#' ),
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_scheduled_action(
#' ScheduledActionName = "string",
#' TargetAction = list(
#' ResizeCluster = list(
#' ClusterIdentifier = "string",
#' ClusterType = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' Classic = TRUE|FALSE
#' ),
#' PauseCluster = list(
#' ClusterIdentifier = "string"
#' ),
#' ResumeCluster = list(
#' ClusterIdentifier = "string"
#' )
#' ),
#' Schedule = "string",
#' IamRole = "string",
#' ScheduledActionDescription = "string",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' EndTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Enable = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_scheduled_action
redshift_modify_scheduled_action <- function(ScheduledActionName, TargetAction = NULL, Schedule = NULL, IamRole = NULL, ScheduledActionDescription = NULL, StartTime = NULL, EndTime = NULL, Enable = NULL) {
op <- new_operation(
name = "ModifyScheduledAction",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_scheduled_action_input(ScheduledActionName = ScheduledActionName, TargetAction = TargetAction, Schedule = Schedule, IamRole = IamRole, ScheduledActionDescription = ScheduledActionDescription, StartTime = StartTime, EndTime = EndTime, Enable = Enable)
output <- .redshift$modify_scheduled_action_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_scheduled_action <- redshift_modify_scheduled_action
#' Modifies the number of days to retain snapshots in the destination AWS
#' Region after they are copied from the source AWS Region
#'
#' @description
#' Modifies the number of days to retain snapshots in the destination AWS
#' Region after they are copied from the source AWS Region. By default,
#' this operation only changes the retention period of copied automated
#' snapshots. The retention periods for both new and existing copied
#' automated snapshots are updated with the new retention period. You can
#' set the manual option to change only the retention periods of copied
#' manual snapshots. If you set this option, only newly copied manual
#' snapshots have the new retention period.
#'
#' @usage
#' redshift_modify_snapshot_copy_retention_period(ClusterIdentifier,
#' RetentionPeriod, Manual)
#'
#' @param ClusterIdentifier [required] 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 AWS Region.
#'
#' Constraints: Must be the valid name of an existing cluster that has
#' cross-region snapshot copy enabled.
#' @param RetentionPeriod [required] The number of days to retain automated snapshots in the destination AWS
#' Region after they are copied from the source AWS 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 AWS Region, Amazon Redshift deletes any existing
#' automated snapshots that were copied to the destination AWS 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.
#' @param Manual Indicates whether to apply the snapshot retention period to newly copied
#' manual snapshots instead of automated snapshots.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_snapshot_copy_retention_period(
#' ClusterIdentifier = "string",
#' RetentionPeriod = 123,
#' Manual = TRUE|FALSE
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_snapshot_copy_retention_period
redshift_modify_snapshot_copy_retention_period <- function(ClusterIdentifier, RetentionPeriod, Manual = NULL) {
op <- new_operation(
name = "ModifySnapshotCopyRetentionPeriod",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_snapshot_copy_retention_period_input(ClusterIdentifier = ClusterIdentifier, RetentionPeriod = RetentionPeriod, Manual = Manual)
output <- .redshift$modify_snapshot_copy_retention_period_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_snapshot_copy_retention_period <- redshift_modify_snapshot_copy_retention_period
#' Modifies a snapshot schedule
#'
#' @description
#' Modifies a snapshot schedule. Any schedule associated with a cluster is
#' modified asynchronously.
#'
#' @usage
#' redshift_modify_snapshot_schedule(ScheduleIdentifier,
#' ScheduleDefinitions)
#'
#' @param ScheduleIdentifier [required] A unique alphanumeric identifier of the schedule to modify.
#' @param ScheduleDefinitions [required] An updated list of schedule definitions. A schedule definition is made
#' up of schedule expressions, for example, "cron(30 12 *)" or "rate(12
#' hours)".
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ScheduleDefinitions = list(
#' "string"
#' ),
#' ScheduleIdentifier = "string",
#' ScheduleDescription = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' NextInvocations = list(
#' as.POSIXct(
#' "2015-01-01"
#' )
#' ),
#' AssociatedClusterCount = 123,
#' AssociatedClusters = list(
#' list(
#' ClusterIdentifier = "string",
#' ScheduleAssociationState = "MODIFYING"|"ACTIVE"|"FAILED"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_snapshot_schedule(
#' ScheduleIdentifier = "string",
#' ScheduleDefinitions = list(
#' "string"
#' )
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_snapshot_schedule
redshift_modify_snapshot_schedule <- function(ScheduleIdentifier, ScheduleDefinitions) {
op <- new_operation(
name = "ModifySnapshotSchedule",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_snapshot_schedule_input(ScheduleIdentifier = ScheduleIdentifier, ScheduleDefinitions = ScheduleDefinitions)
output <- .redshift$modify_snapshot_schedule_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_snapshot_schedule <- redshift_modify_snapshot_schedule
#' Modifies a usage limit in a cluster
#'
#' @description
#' Modifies a usage limit in a cluster. You can't modify the feature type
#' or period of a usage limit.
#'
#' @usage
#' redshift_modify_usage_limit(UsageLimitId, Amount, BreachAction)
#'
#' @param UsageLimitId [required] The identifier of the usage limit to modify.
#' @param Amount The new limit amount. For more information about this parameter, see
#' UsageLimit.
#' @param BreachAction The new action that Amazon Redshift takes when the limit is reached. For
#' more information about this parameter, see UsageLimit.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' UsageLimitId = "string",
#' ClusterIdentifier = "string",
#' FeatureType = "spectrum"|"concurrency-scaling",
#' LimitType = "time"|"data-scanned",
#' Amount = 123,
#' Period = "daily"|"weekly"|"monthly",
#' BreachAction = "log"|"emit-metric"|"disable",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$modify_usage_limit(
#' UsageLimitId = "string",
#' Amount = 123,
#' BreachAction = "log"|"emit-metric"|"disable"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_modify_usage_limit
redshift_modify_usage_limit <- function(UsageLimitId, Amount = NULL, BreachAction = NULL) {
op <- new_operation(
name = "ModifyUsageLimit",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$modify_usage_limit_input(UsageLimitId = UsageLimitId, Amount = Amount, BreachAction = BreachAction)
output <- .redshift$modify_usage_limit_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$modify_usage_limit <- redshift_modify_usage_limit
#' Pauses a cluster
#'
#' @description
#' Pauses a cluster.
#'
#' @usage
#' redshift_pause_cluster(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The identifier of the cluster to be paused.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier = "string",
#' NodeType = "string",
#' ClusterStatus = "string",
#' ClusterAvailabilityStatus = "string",
#' ModifyStatus = "string",
#' MasterUsername = "string",
#' DBName = "string",
#' Endpoint = list(
#' Address = "string",
#' Port = 123,
#' VpcEndpoints = list(
#' list(
#' VpcEndpointId = "string"
#' )
#' )
#' ),
#' ClusterCreateTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' AutomatedSnapshotRetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' ClusterSecurityGroups = list(
#' list(
#' ClusterSecurityGroupName = "string",
#' Status = "string"
#' )
#' ),
#' VpcSecurityGroups = list(
#' list(
#' VpcSecurityGroupId = "string",
#' Status = "string"
#' )
#' ),
#' ClusterParameterGroups = list(
#' list(
#' ParameterGroupName = "string",
#' ParameterApplyStatus = "string",
#' ClusterParameterStatusList = list(
#' list(
#' ParameterName = "string",
#' ParameterApplyStatus = "string",
#' ParameterApplyErrorDescription = "string"
#' )
#' )
#' )
#' ),
#' ClusterSubnetGroupName = "string",
#' VpcId = "string",
#' AvailabilityZone = "string",
#' PreferredMaintenanceWindow = "string",
#' PendingModifiedValues = list(
#' MasterUserPassword = "string",
#' NodeType = "string",
#' NumberOfNodes = 123,
#' ClusterType = "string",
#' ClusterVersion = "string",
#' AutomatedSnapshotRetentionPeriod = 123,
#' ClusterIdentifier = "string",
#' PubliclyAccessible = TRUE|FALSE,
#' EnhancedVpcRouting = TRUE|FALSE,
#' MaintenanceTrackName = "string",
#' EncryptionType = "string"
#' ),
#' ClusterVersion = "string",
#' AllowVersionUpgrade = TRUE|FALSE,
#' NumberOfNodes = 123,
#' PubliclyAccessible = TRUE|FALSE,
#' Encrypted = TRUE|FALSE,
#' RestoreStatus = list(
#' Status = "string",
#' CurrentRestoreRateInMegaBytesPerSecond = 123.0,
#' SnapshotSizeInMegaBytes = 123,
#' ProgressInMegaBytes = 123,
#' ElapsedTimeInSeconds = 123,
#' EstimatedTimeToCompletionInSeconds = 123
#' ),
#' DataTransferProgress = list(
#' Status = "string",
#' CurrentRateInMegaBytesPerSecond = 123.0,
#' TotalDataInMegaBytes = 123,
#' DataTransferredInMegaBytes = 123,
#' EstimatedTimeToCompletionInSeconds = 123,
#' ElapsedTimeInSeconds = 123
#' ),
#' HsmStatus = list(
#' HsmClientCertificateIdentifier = "string",
#' HsmConfigurationIdentifier = "string",
#' Status = "string"
#' ),
#' ClusterSnapshotCopyStatus = list(
#' DestinationRegion = "string",
#' RetentionPeriod = 123,
#' ManualSnapshotRetentionPeriod = 123,
#' SnapshotCopyGrantName = "string"
#' ),
#' ClusterPublicKey = "string",
#' ClusterNodes = list(
#' list(
#' NodeRole = "string",
#' PrivateIPAddress = "string",
#' PublicIPAddress = "string"
#' )
#' ),
#' ElasticIpStatus = list(
#' ElasticIp = "string",
#' Status = "string"
#' ),
#' ClusterRevisionNumber = "string",
#' Tags = list(
#' list(
#' Key = "string",
#' Value = "string"
#' )
#' ),
#' KmsKeyId = "string",
#' EnhancedVpcRouting = TRUE|FALSE,
#' IamRoles = list(
#' list(
#' IamRoleArn = "string",
#' ApplyStatus = "string"
#' )
#' ),
#' PendingActions = list(
#' "string"
#' ),
#' MaintenanceTrackName = "string",
#' ElasticResizeNumberOfNodeOptions = "string",
#' DeferredMaintenanceWindows = list(
#' list(
#' DeferMaintenanceIdentifier = "string",
#' DeferMaintenanceStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' DeferMaintenanceEndTime = as.POSIXct(
#' "2015-01-01"
#' )
#' )
#' ),
#' SnapshotScheduleIdentifier = "string",
#' SnapshotScheduleState = "MODIFYING"|"ACTIVE"|"FAILED",
#' ExpectedNextSnapshotScheduleTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ExpectedNextSnapshotScheduleTimeStatus = "string",
#' NextMaintenanceWindowStartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' ResizeInfo = list(
#' ResizeType = "string",
#' AllowCancelResize = TRUE|FALSE
#' ),
#' AvailabilityZoneRelocationStatus = "string",
#' ClusterNamespaceArn = "string"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$pause_cluster(
#' ClusterIdentifier = "string"
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_pause_cluster
redshift_pause_cluster <- function(ClusterIdentifier) {
op <- new_operation(
name = "PauseCluster",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$pause_cluster_input(ClusterIdentifier = ClusterIdentifier)
output <- .redshift$pause_cluster_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$pause_cluster <- redshift_pause_cluster
#' Allows you to purchase reserved nodes
#'
#' @description
#' Allows you to purchase reserved nodes. Amazon Redshift offers a
#' predefined set of reserved node offerings. You can purchase one or more
#' of the offerings. You can call the
#' [`describe_reserved_node_offerings`][redshift_describe_reserved_node_offerings]
#' API to obtain the available reserved node offerings. You can call this
#' API by providing a specific reserved node offering and the number of
#' nodes you want to reserve.
#'
#' For more information about reserved node offerings, go to [Purchasing
#' Reserved
#' Nodes](https://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_purchase_reserved_node_offering(ReservedNodeOfferingId,
#' NodeCount)
#'
#' @param ReservedNodeOfferingId [required] The unique identifier of the reserved node offering you want to
#' purchase.
#' @param NodeCount The number of reserved nodes that you want to purchase.
#'
#' Default: `1`
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' ReservedNode = list(
#' ReservedNodeId = "string",
#' ReservedNodeOfferingId = "string",
#' NodeType = "string",
#' StartTime = as.POSIXct(
#' "2015-01-01"
#' ),
#' Duration = 123,
#' FixedPrice = 123.0,
#' UsagePrice = 123.0,
#' CurrencyCode = "string",
#' NodeCount = 123,
#' State = "string",
#' OfferingType = "string",
#' RecurringCharges = list(
#' list(
#' RecurringChargeAmount = 123.0,
#' RecurringChargeFrequency = "string"
#' )
#' ),
#' ReservedNodeOfferingType = "Regular"|"Upgradable"
#' )
#' )
#' ```
#'
#' @section Request syntax:
#' ```
#' svc$purchase_reserved_node_offering(
#' ReservedNodeOfferingId = "string",
#' NodeCount = 123
#' )
#' ```
#'
#' @keywords internal
#'
#' @rdname redshift_purchase_reserved_node_offering
redshift_purchase_reserved_node_offering <- function(ReservedNodeOfferingId, NodeCount = NULL) {
op <- new_operation(
name = "PurchaseReservedNodeOffering",
http_method = "POST",
http_path = "/",
paginator = list()
)
input <- .redshift$purchase_reserved_node_offering_input(ReservedNodeOfferingId = ReservedNodeOfferingId, NodeCount = NodeCount)
output <- .redshift$purchase_reserved_node_offering_output()
config <- get_config()
svc <- .redshift$service(config)
request <- new_request(svc, op, input, output)
response <- send_request(request)
return(response)
}
.redshift$operations$purchase_reserved_node_offering <- redshift_purchase_reserved_node_offering
#' Reboots a cluster
#'
#' @description
#' Reboots a cluster. This action is taken as soon as possible. It results
#' in a momentary outage to the cluster, during which the cluster status is
#' set to `rebooting`. A cluster event is created when the reboot is
#' completed. Any pending cluster modifications (see
#' [`modify_cluster`][redshift_modify_cluster]) are applied at this reboot.
#' For more information about managing clusters, go to [Amazon Redshift
#' Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)
#' in the *Amazon Redshift Cluster Management Guide*.
#'
#' @usage
#' redshift_reboot_cluster(ClusterIdentifier)
#'
#' @param ClusterIdentifier [required] The cluster identifier.
#'
#' @return
#' A list with the following syntax:
#' ```
#' list(
#' Cluster = list(
#' ClusterIdentifier =