R/redshift_interfaces.R

Defines functions update_partner_status_output update_partner_status_input rotate_encryption_key_output rotate_encryption_key_input revoke_snapshot_access_output revoke_snapshot_access_input revoke_endpoint_access_output revoke_endpoint_access_input revoke_cluster_security_group_ingress_output revoke_cluster_security_group_ingress_input resume_cluster_output resume_cluster_input restore_table_from_cluster_snapshot_output restore_table_from_cluster_snapshot_input restore_from_cluster_snapshot_output restore_from_cluster_snapshot_input resize_cluster_output resize_cluster_input reset_cluster_parameter_group_output reset_cluster_parameter_group_input reject_data_share_output reject_data_share_input reboot_cluster_output reboot_cluster_input put_resource_policy_output put_resource_policy_input purchase_reserved_node_offering_output purchase_reserved_node_offering_input pause_cluster_output pause_cluster_input modify_usage_limit_output modify_usage_limit_input modify_snapshot_schedule_output modify_snapshot_schedule_input modify_snapshot_copy_retention_period_output modify_snapshot_copy_retention_period_input modify_scheduled_action_output modify_scheduled_action_input modify_redshift_idc_application_output modify_redshift_idc_application_input modify_event_subscription_output modify_event_subscription_input modify_endpoint_access_output modify_endpoint_access_input modify_custom_domain_association_output modify_custom_domain_association_input modify_cluster_subnet_group_output modify_cluster_subnet_group_input modify_cluster_snapshot_schedule_output modify_cluster_snapshot_schedule_input modify_cluster_snapshot_output modify_cluster_snapshot_input modify_cluster_parameter_group_output modify_cluster_parameter_group_input modify_cluster_maintenance_output modify_cluster_maintenance_input modify_cluster_iam_roles_output modify_cluster_iam_roles_input modify_cluster_db_revision_output modify_cluster_db_revision_input modify_cluster_output modify_cluster_input modify_authentication_profile_output modify_authentication_profile_input modify_aqua_configuration_output modify_aqua_configuration_input list_recommendations_output list_recommendations_input get_resource_policy_output get_resource_policy_input get_reserved_node_exchange_offerings_output get_reserved_node_exchange_offerings_input get_reserved_node_exchange_configuration_options_output get_reserved_node_exchange_configuration_options_input get_cluster_credentials_with_iam_output get_cluster_credentials_with_iam_input get_cluster_credentials_output get_cluster_credentials_input failover_primary_compute_output failover_primary_compute_input enable_snapshot_copy_output enable_snapshot_copy_input enable_logging_output enable_logging_input disassociate_data_share_consumer_output disassociate_data_share_consumer_input disable_snapshot_copy_output disable_snapshot_copy_input disable_logging_output disable_logging_input describe_usage_limits_output describe_usage_limits_input describe_tags_output describe_tags_input describe_table_restore_status_output describe_table_restore_status_input describe_storage_output describe_storage_input describe_snapshot_schedules_output describe_snapshot_schedules_input describe_snapshot_copy_grants_output describe_snapshot_copy_grants_input describe_scheduled_actions_output describe_scheduled_actions_input describe_resize_output describe_resize_input describe_reserved_nodes_output describe_reserved_nodes_input describe_reserved_node_offerings_output describe_reserved_node_offerings_input describe_reserved_node_exchange_status_output describe_reserved_node_exchange_status_input describe_redshift_idc_applications_output describe_redshift_idc_applications_input describe_partners_output describe_partners_input describe_orderable_cluster_options_output describe_orderable_cluster_options_input describe_node_configuration_options_output describe_node_configuration_options_input describe_logging_status_output describe_logging_status_input describe_inbound_integrations_output describe_inbound_integrations_input describe_hsm_configurations_output describe_hsm_configurations_input describe_hsm_client_certificates_output describe_hsm_client_certificates_input describe_events_output describe_events_input describe_event_subscriptions_output describe_event_subscriptions_input describe_event_categories_output describe_event_categories_input describe_endpoint_authorization_output describe_endpoint_authorization_input describe_endpoint_access_output describe_endpoint_access_input describe_default_cluster_parameters_output describe_default_cluster_parameters_input describe_data_shares_for_producer_output describe_data_shares_for_producer_input describe_data_shares_for_consumer_output describe_data_shares_for_consumer_input describe_data_shares_output describe_data_shares_input describe_custom_domain_associations_output describe_custom_domain_associations_input describe_clusters_output describe_clusters_input describe_cluster_versions_output describe_cluster_versions_input describe_cluster_tracks_output describe_cluster_tracks_input describe_cluster_subnet_groups_output describe_cluster_subnet_groups_input describe_cluster_snapshots_output describe_cluster_snapshots_input describe_cluster_security_groups_output describe_cluster_security_groups_input describe_cluster_parameters_output describe_cluster_parameters_input describe_cluster_parameter_groups_output describe_cluster_parameter_groups_input describe_cluster_db_revisions_output describe_cluster_db_revisions_input describe_authentication_profiles_output describe_authentication_profiles_input describe_account_attributes_output describe_account_attributes_input delete_usage_limit_output delete_usage_limit_input delete_tags_output delete_tags_input delete_snapshot_schedule_output delete_snapshot_schedule_input delete_snapshot_copy_grant_output delete_snapshot_copy_grant_input delete_scheduled_action_output delete_scheduled_action_input delete_resource_policy_output delete_resource_policy_input delete_redshift_idc_application_output delete_redshift_idc_application_input delete_partner_output delete_partner_input delete_hsm_configuration_output delete_hsm_configuration_input delete_hsm_client_certificate_output delete_hsm_client_certificate_input delete_event_subscription_output delete_event_subscription_input delete_endpoint_access_output delete_endpoint_access_input delete_custom_domain_association_output delete_custom_domain_association_input delete_cluster_subnet_group_output delete_cluster_subnet_group_input delete_cluster_snapshot_output delete_cluster_snapshot_input delete_cluster_security_group_output delete_cluster_security_group_input delete_cluster_parameter_group_output delete_cluster_parameter_group_input delete_cluster_output delete_cluster_input delete_authentication_profile_output delete_authentication_profile_input deauthorize_data_share_output deauthorize_data_share_input create_usage_limit_output create_usage_limit_input create_tags_output create_tags_input create_snapshot_schedule_output create_snapshot_schedule_input create_snapshot_copy_grant_output create_snapshot_copy_grant_input create_scheduled_action_output create_scheduled_action_input create_redshift_idc_application_output create_redshift_idc_application_input create_hsm_configuration_output create_hsm_configuration_input create_hsm_client_certificate_output create_hsm_client_certificate_input create_event_subscription_output create_event_subscription_input create_endpoint_access_output create_endpoint_access_input create_custom_domain_association_output create_custom_domain_association_input create_cluster_subnet_group_output create_cluster_subnet_group_input create_cluster_snapshot_output create_cluster_snapshot_input create_cluster_security_group_output create_cluster_security_group_input create_cluster_parameter_group_output create_cluster_parameter_group_input create_cluster_output create_cluster_input create_authentication_profile_output create_authentication_profile_input copy_cluster_snapshot_output copy_cluster_snapshot_input cancel_resize_output cancel_resize_input batch_modify_cluster_snapshots_output batch_modify_cluster_snapshots_input batch_delete_cluster_snapshots_output batch_delete_cluster_snapshots_input authorize_snapshot_access_output authorize_snapshot_access_input authorize_endpoint_access_output authorize_endpoint_access_input authorize_data_share_output authorize_data_share_input authorize_cluster_security_group_ingress_output authorize_cluster_security_group_ingress_input associate_data_share_consumer_output associate_data_share_consumer_input add_partner_output add_partner_input accept_reserved_node_exchange_output accept_reserved_node_exchange_input

# This file is generated by make.paws. Please do not edit here.
#' @importFrom paws.common populate
#' @include redshift_service.R
NULL

.redshift$accept_reserved_node_exchange_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$accept_reserved_node_exchange_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ExchangedReservedNode = structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), NodeCount = structure(logical(0), tags = list(type = "integer")), State = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "AcceptReservedNodeExchangeResult"))
  return(populate(args, shape))
}

.redshift$add_partner_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AccountId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$add_partner_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "AddPartnerResult"))
  return(populate(args, shape))
}

.redshift$associate_data_share_consumer_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), AssociateEntireAccount = structure(logical(0), tags = list(type = "boolean")), ConsumerArn = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), AllowWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$associate_data_share_consumer_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "AssociateDataShareConsumerResult"))
  return(populate(args, shape))
}

.redshift$authorize_cluster_security_group_ingress_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), CIDRIP = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupName = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupOwnerId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$authorize_cluster_security_group_ingress_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroup = structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), EC2SecurityGroups = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupName = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupOwnerId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "EC2SecurityGroup", type = "structure"))), tags = list(locationNameList = "EC2SecurityGroup", type = "list")), IPRanges = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), CIDRIP = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "IPRange", type = "structure"))), tags = list(locationNameList = "IPRange", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "AuthorizeClusterSecurityGroupIngressResult"))
  return(populate(args, shape))
}

.redshift$authorize_data_share_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), AllowWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$authorize_data_share_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "AuthorizeDataShareResult"))
  return(populate(args, shape))
}

.redshift$authorize_endpoint_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), Account = structure(logical(0), tags = list(type = "string")), VpcIds = structure(list(structure(logical(0), tags = list(locationName = "VpcIdentifier", type = "string"))), tags = list(locationNameList = "VpcIdentifier", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$authorize_endpoint_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Grantor = structure(logical(0), tags = list(type = "string")), Grantee = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), AuthorizeTime = structure(logical(0), tags = list(type = "timestamp")), ClusterStatus = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), AllowedAllVPCs = structure(logical(0), tags = list(type = "boolean")), AllowedVPCs = structure(list(structure(logical(0), tags = list(locationName = "VpcIdentifier", type = "string"))), tags = list(locationNameList = "VpcIdentifier", type = "list")), EndpointCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", resultWrapper = "AuthorizeEndpointAccessResult"))
  return(populate(args, shape))
}

.redshift$authorize_snapshot_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string")), AccountWithRestoreAccess = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$authorize_snapshot_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Snapshot = structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "AuthorizeSnapshotAccessResult"))
  return(populate(args, shape))
}

.redshift$batch_delete_cluster_snapshots_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Identifiers = structure(list(structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "DeleteClusterSnapshotMessage", type = "structure"))), tags = list(locationNameList = "DeleteClusterSnapshotMessage", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$batch_delete_cluster_snapshots_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Resources = structure(list(structure(logical(0), tags = list(locationName = "String", type = "string"))), tags = list(locationNameList = "String", type = "list")), Errors = structure(list(structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string")), FailureCode = structure(logical(0), tags = list(type = "string")), FailureReason = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SnapshotErrorMessage", type = "structure"))), tags = list(locationNameList = "SnapshotErrorMessage", type = "list"))), tags = list(type = "structure", resultWrapper = "BatchDeleteClusterSnapshotsResult"))
  return(populate(args, shape))
}

.redshift$batch_modify_cluster_snapshots_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotIdentifierList = structure(list(structure(logical(0), tags = list(locationName = "String", type = "string"))), tags = list(locationNameList = "String", type = "list")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), Force = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$batch_modify_cluster_snapshots_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Resources = structure(list(structure(logical(0), tags = list(locationName = "String", type = "string"))), tags = list(locationNameList = "String", type = "list")), Errors = structure(list(structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string")), FailureCode = structure(logical(0), tags = list(type = "string")), FailureReason = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SnapshotErrorMessage", type = "structure"))), tags = list(locationNameList = "SnapshotErrorMessage", type = "list"))), tags = list(type = "structure", resultWrapper = "BatchModifyClusterSnapshotsResult"))
  return(populate(args, shape))
}

.redshift$cancel_resize_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$cancel_resize_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(TargetNodeType = structure(logical(0), tags = list(type = "string")), TargetNumberOfNodes = structure(logical(0), tags = list(type = "integer")), TargetClusterType = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ImportTablesCompleted = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), ImportTablesInProgress = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), ImportTablesNotStarted = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), AvgResizeRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalResizeDataInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ResizeType = structure(logical(0), tags = list(type = "string")), Message = structure(logical(0), tags = list(type = "string")), TargetEncryptionType = structure(logical(0), tags = list(type = "string")), DataTransferProgressPercent = structure(logical(0), tags = list(type = "double"))), tags = list(type = "structure", resultWrapper = "CancelResizeResult"))
  return(populate(args, shape))
}

.redshift$copy_cluster_snapshot_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SourceSnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SourceSnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string")), TargetSnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$copy_cluster_snapshot_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Snapshot = structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CopyClusterSnapshotResult"))
  return(populate(args, shape))
}

.redshift$create_authentication_profile_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string")), AuthenticationProfileContent = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_authentication_profile_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string")), AuthenticationProfileContent = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "CreateAuthenticationProfileResult"))
  return(populate(args, shape))
}

.redshift$create_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DBName = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), ClusterSecurityGroups = structure(list(structure(logical(0), tags = list(locationName = "ClusterSecurityGroupName", type = "string"))), tags = list(locationNameList = "ClusterSecurityGroupName", type = "list")), VpcSecurityGroupIds = structure(list(structure(logical(0), tags = list(locationName = "VpcSecurityGroupId", type = "string"))), tags = list(locationNameList = "VpcSecurityGroupId", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), ClusterParameterGroupName = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), Port = structure(logical(0), tags = list(type = "integer")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), ElasticIp = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), AdditionalInfo = structure(logical(0), tags = list(type = "string")), IamRoles = structure(list(structure(logical(0), tags = list(locationName = "IamRoleArn", type = "string"))), tags = list(locationNameList = "IamRoleArn", type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), AvailabilityZoneRelocation = structure(logical(0), tags = list(type = "boolean")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), LoadSampleData = structure(logical(0), tags = list(type = "string")), ManageMasterPassword = structure(logical(0), tags = list(type = "boolean")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "boolean")), RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateClusterResult"))
  return(populate(args, shape))
}

.redshift$create_cluster_parameter_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterGroupFamily = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_cluster_parameter_group_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterParameterGroup = structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterGroupFamily = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateClusterParameterGroupResult"))
  return(populate(args, shape))
}

.redshift$create_cluster_security_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_cluster_security_group_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroup = structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), EC2SecurityGroups = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupName = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupOwnerId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "EC2SecurityGroup", type = "structure"))), tags = list(locationNameList = "EC2SecurityGroup", type = "list")), IPRanges = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), CIDRIP = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "IPRange", type = "structure"))), tags = list(locationNameList = "IPRange", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateClusterSecurityGroupResult"))
  return(populate(args, shape))
}

.redshift$create_cluster_snapshot_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_cluster_snapshot_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Snapshot = structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateClusterSnapshotResult"))
  return(populate(args, shape))
}

.redshift$create_cluster_subnet_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), SubnetIds = structure(list(structure(logical(0), tags = list(locationName = "SubnetIdentifier", type = "string"))), tags = list(locationNameList = "SubnetIdentifier", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_cluster_subnet_group_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSubnetGroup = structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), SubnetGroupStatus = structure(logical(0), tags = list(type = "string")), Subnets = structure(list(structure(list(SubnetIdentifier = structure(logical(0), tags = list(type = "string")), SubnetAvailabilityZone = structure(list(Name = structure(logical(0), tags = list(type = "string")), SupportedPlatforms = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SupportedPlatform", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "SupportedPlatform", type = "list"))), tags = list(type = "structure", wrapper = TRUE)), SubnetStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Subnet", type = "structure"))), tags = list(locationNameList = "Subnet", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), SupportedClusterIpAddressTypes = structure(list(structure(logical(0), tags = list(locationName = "item", type = "string"))), tags = list(locationNameList = "item", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateClusterSubnetGroupResult"))
  return(populate(args, shape))
}

.redshift$create_custom_domain_association_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_custom_domain_association_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), CustomDomainCertExpiryTime = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "CreateCustomDomainAssociationResult"))
  return(populate(args, shape))
}

.redshift$create_endpoint_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ResourceOwner = structure(logical(0), tags = list(type = "string")), EndpointName = structure(logical(0), tags = list(type = "string")), SubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcSecurityGroupIds = structure(list(structure(logical(0), tags = list(locationName = "VpcSecurityGroupId", type = "string"))), tags = list(locationNameList = "VpcSecurityGroupId", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_endpoint_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ResourceOwner = structure(logical(0), tags = list(type = "string")), SubnetGroupName = structure(logical(0), tags = list(type = "string")), EndpointStatus = structure(logical(0), tags = list(type = "string")), EndpointName = structure(logical(0), tags = list(type = "string")), EndpointCreateTime = structure(logical(0), tags = list(type = "timestamp")), Port = structure(logical(0), tags = list(type = "integer")), Address = structure(logical(0), tags = list(type = "string")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), VpcEndpoint = structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", resultWrapper = "CreateEndpointAccessResult"))
  return(populate(args, shape))
}

.redshift$create_event_subscription_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SubscriptionName = structure(logical(0), tags = list(type = "string")), SnsTopicArn = structure(logical(0), tags = list(type = "string")), SourceType = structure(logical(0), tags = list(type = "string")), SourceIds = structure(list(structure(logical(0), tags = list(locationName = "SourceId", type = "string"))), tags = list(locationNameList = "SourceId", type = "list")), EventCategories = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), Severity = structure(logical(0), tags = list(type = "string")), Enabled = structure(logical(0), tags = list(type = "boolean")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_event_subscription_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EventSubscription = structure(list(CustomerAwsId = structure(logical(0), tags = list(type = "string")), CustSubscriptionId = structure(logical(0), tags = list(type = "string")), SnsTopicArn = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), SubscriptionCreationTime = structure(logical(0), tags = list(type = "timestamp")), SourceType = structure(logical(0), tags = list(type = "string")), SourceIdsList = structure(list(structure(logical(0), tags = list(locationName = "SourceId", type = "string"))), tags = list(locationNameList = "SourceId", type = "list")), EventCategoriesList = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), Severity = structure(logical(0), tags = list(type = "string")), Enabled = structure(logical(0), tags = list(type = "boolean")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateEventSubscriptionResult"))
  return(populate(args, shape))
}

.redshift$create_hsm_client_certificate_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_hsm_client_certificate_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmClientCertificate = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmClientCertificatePublicKey = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateHsmClientCertificateResult"))
  return(populate(args, shape))
}

.redshift$create_hsm_configuration_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), HsmIpAddress = structure(logical(0), tags = list(type = "string")), HsmPartitionName = structure(logical(0), tags = list(type = "string")), HsmPartitionPassword = structure(logical(0), tags = list(type = "string")), HsmServerPublicCertificate = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_hsm_configuration_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmConfiguration = structure(list(HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), HsmIpAddress = structure(logical(0), tags = list(type = "string")), HsmPartitionName = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateHsmConfigurationResult"))
  return(populate(args, shape))
}

.redshift$create_redshift_idc_application_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(IdcInstanceArn = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationName = structure(logical(0), tags = list(type = "string")), IdentityNamespace = structure(logical(0), tags = list(type = "string")), IdcDisplayName = structure(logical(0), tags = list(type = "string")), IamRoleArn = structure(logical(0), tags = list(type = "string")), AuthorizedTokenIssuerList = structure(list(structure(list(TrustedTokenIssuerArn = structure(logical(0), tags = list(type = "string")), AuthorizedAudiencesList = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "list")), ServiceIntegrations = structure(list(structure(list(LakeFormation = structure(list(structure(list(LakeFormationQuery = structure(list(Authorization = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_redshift_idc_application_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(RedshiftIdcApplication = structure(list(IdcInstanceArn = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationName = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string")), IdentityNamespace = structure(logical(0), tags = list(type = "string")), IdcDisplayName = structure(logical(0), tags = list(type = "string")), IamRoleArn = structure(logical(0), tags = list(type = "string")), IdcManagedApplicationArn = structure(logical(0), tags = list(type = "string")), IdcOnboardStatus = structure(logical(0), tags = list(type = "string")), AuthorizedTokenIssuerList = structure(list(structure(list(TrustedTokenIssuerArn = structure(logical(0), tags = list(type = "string")), AuthorizedAudiencesList = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "list")), ServiceIntegrations = structure(list(structure(list(LakeFormation = structure(list(structure(list(LakeFormationQuery = structure(list(Authorization = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateRedshiftIdcApplicationResult"))
  return(populate(args, shape))
}

.redshift$create_scheduled_action_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string")), TargetAction = structure(list(ResizeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), Classic = structure(logical(0), tags = list(type = "boolean")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), PauseCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ResumeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure")), Schedule = structure(logical(0), tags = list(type = "string")), IamRole = structure(logical(0), tags = list(type = "string")), ScheduledActionDescription = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp")), Enable = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_scheduled_action_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string")), TargetAction = structure(list(ResizeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), Classic = structure(logical(0), tags = list(type = "boolean")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), PauseCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ResumeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure")), Schedule = structure(logical(0), tags = list(type = "string")), IamRole = structure(logical(0), tags = list(type = "string")), ScheduledActionDescription = structure(logical(0), tags = list(type = "string")), State = structure(logical(0), tags = list(type = "string")), NextInvocations = structure(list(structure(logical(0), tags = list(locationName = "ScheduledActionTime", type = "timestamp"))), tags = list(locationNameList = "ScheduledActionTime", type = "list")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(type = "structure", resultWrapper = "CreateScheduledActionResult"))
  return(populate(args, shape))
}

.redshift$create_snapshot_copy_grant_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string")), KmsKeyId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_snapshot_copy_grant_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotCopyGrant = structure(list(SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string")), KmsKeyId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "CreateSnapshotCopyGrantResult"))
  return(populate(args, shape))
}

.redshift$create_snapshot_schedule_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduleDefinitions = structure(list(structure(logical(0), tags = list(locationName = "ScheduleDefinition", type = "string"))), tags = list(locationNameList = "ScheduleDefinition", type = "list")), ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleDescription = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), DryRun = structure(logical(0), tags = list(type = "boolean")), NextInvocations = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_snapshot_schedule_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduleDefinitions = structure(list(structure(logical(0), tags = list(locationName = "ScheduleDefinition", type = "string"))), tags = list(locationNameList = "ScheduleDefinition", type = "list")), ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleDescription = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), NextInvocations = structure(list(structure(logical(0), tags = list(locationName = "SnapshotTime", type = "timestamp"))), tags = list(locationNameList = "SnapshotTime", type = "list")), AssociatedClusterCount = structure(logical(0), tags = list(type = "integer")), AssociatedClusters = structure(list(structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleAssociationState = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterAssociatedToSchedule", type = "structure"))), tags = list(locationNameList = "ClusterAssociatedToSchedule", type = "list"))), tags = list(type = "structure", resultWrapper = "CreateSnapshotScheduleResult"))
  return(populate(args, shape))
}

.redshift$create_tags_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourceName = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_tags_output <- function(...) {
  list()
}

.redshift$create_usage_limit_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), FeatureType = structure(logical(0), tags = list(type = "string")), LimitType = structure(logical(0), tags = list(type = "string")), Amount = structure(logical(0), tags = list(type = "long")), Period = structure(logical(0), tags = list(type = "string")), BreachAction = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$create_usage_limit_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(UsageLimitId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), FeatureType = structure(logical(0), tags = list(type = "string")), LimitType = structure(logical(0), tags = list(type = "string")), Amount = structure(logical(0), tags = list(type = "long")), Period = structure(logical(0), tags = list(type = "string")), BreachAction = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", resultWrapper = "CreateUsageLimitResult"))
  return(populate(args, shape))
}

.redshift$deauthorize_data_share_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ConsumerIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$deauthorize_data_share_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DeauthorizeDataShareResult"))
  return(populate(args, shape))
}

.redshift$delete_authentication_profile_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_authentication_profile_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DeleteAuthenticationProfileResult"))
  return(populate(args, shape))
}

.redshift$delete_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SkipFinalClusterSnapshot = structure(logical(0), tags = list(type = "boolean")), FinalClusterSnapshotIdentifier = structure(logical(0), tags = list(type = "string")), FinalClusterSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "DeleteClusterResult"))
  return(populate(args, shape))
}

.redshift$delete_cluster_parameter_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_cluster_parameter_group_output <- function(...) {
  list()
}

.redshift$delete_cluster_security_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_cluster_security_group_output <- function(...) {
  list()
}

.redshift$delete_cluster_snapshot_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_cluster_snapshot_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Snapshot = structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "DeleteClusterSnapshotResult"))
  return(populate(args, shape))
}

.redshift$delete_cluster_subnet_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_cluster_subnet_group_output <- function(...) {
  list()
}

.redshift$delete_custom_domain_association_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), CustomDomainName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_custom_domain_association_output <- function(...) {
  list()
}

.redshift$delete_endpoint_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EndpointName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_endpoint_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ResourceOwner = structure(logical(0), tags = list(type = "string")), SubnetGroupName = structure(logical(0), tags = list(type = "string")), EndpointStatus = structure(logical(0), tags = list(type = "string")), EndpointName = structure(logical(0), tags = list(type = "string")), EndpointCreateTime = structure(logical(0), tags = list(type = "timestamp")), Port = structure(logical(0), tags = list(type = "integer")), Address = structure(logical(0), tags = list(type = "string")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), VpcEndpoint = structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", resultWrapper = "DeleteEndpointAccessResult"))
  return(populate(args, shape))
}

.redshift$delete_event_subscription_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SubscriptionName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_event_subscription_output <- function(...) {
  list()
}

.redshift$delete_hsm_client_certificate_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_hsm_client_certificate_output <- function(...) {
  list()
}

.redshift$delete_hsm_configuration_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_hsm_configuration_output <- function(...) {
  list()
}

.redshift$delete_partner_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AccountId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_partner_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DeletePartnerResult"))
  return(populate(args, shape))
}

.redshift$delete_redshift_idc_application_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_redshift_idc_application_output <- function(...) {
  list()
}

.redshift$delete_resource_policy_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourceArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_resource_policy_output <- function(...) {
  list()
}

.redshift$delete_scheduled_action_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_scheduled_action_output <- function(...) {
  list()
}

.redshift$delete_snapshot_copy_grant_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_snapshot_copy_grant_output <- function(...) {
  list()
}

.redshift$delete_snapshot_schedule_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduleIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_snapshot_schedule_output <- function(...) {
  list()
}

.redshift$delete_tags_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourceName = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_tags_output <- function(...) {
  list()
}

.redshift$delete_usage_limit_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(UsageLimitId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$delete_usage_limit_output <- function(...) {
  list()
}

.redshift$describe_account_attributes_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AttributeNames = structure(list(structure(logical(0), tags = list(locationName = "AttributeName", type = "string"))), tags = list(locationNameList = "AttributeName", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_account_attributes_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AccountAttributes = structure(list(structure(list(AttributeName = structure(logical(0), tags = list(type = "string")), AttributeValues = structure(list(structure(list(AttributeValue = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AttributeValueTarget", type = "structure"))), tags = list(locationNameList = "AttributeValueTarget", type = "list"))), tags = list(locationName = "AccountAttribute", type = "structure"))), tags = list(locationNameList = "AccountAttribute", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeAccountAttributesResult"))
  return(populate(args, shape))
}

.redshift$describe_authentication_profiles_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_authentication_profiles_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfiles = structure(list(structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string")), AuthenticationProfileContent = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeAuthenticationProfilesResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_db_revisions_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_db_revisions_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ClusterDbRevisions = structure(list(structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), CurrentDatabaseRevision = structure(logical(0), tags = list(type = "string")), DatabaseRevisionReleaseDate = structure(logical(0), tags = list(type = "timestamp")), RevisionTargets = structure(list(structure(list(DatabaseRevision = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), DatabaseRevisionReleaseDate = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "RevisionTarget", type = "structure"))), tags = list(locationNameList = "RevisionTarget", type = "list"))), tags = list(locationName = "ClusterDbRevision", type = "structure"))), tags = list(locationNameList = "ClusterDbRevision", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClusterDbRevisionsResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_parameter_groups_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_parameter_groups_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterGroupFamily = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ClusterParameterGroup", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClusterParameterGroupsResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_parameters_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), Source = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_parameters_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Parameters = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterValue = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Source = structure(logical(0), tags = list(type = "string")), DataType = structure(logical(0), tags = list(type = "string")), AllowedValues = structure(logical(0), tags = list(type = "string")), ApplyType = structure(logical(0), tags = list(type = "string")), IsModifiable = structure(logical(0), tags = list(type = "boolean")), MinimumEngineVersion = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Parameter", type = "structure"))), tags = list(locationNameList = "Parameter", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeClusterParametersResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_security_groups_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_security_groups_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), EC2SecurityGroups = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupName = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupOwnerId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "EC2SecurityGroup", type = "structure"))), tags = list(locationNameList = "EC2SecurityGroup", type = "list")), IPRanges = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), CIDRIP = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "IPRange", type = "structure"))), tags = list(locationNameList = "IPRange", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClusterSecurityGroupsResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_snapshots_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list")), ClusterExists = structure(logical(0), tags = list(type = "boolean")), SortingEntities = structure(list(structure(list(Attribute = structure(logical(0), tags = list(type = "string")), SortOrder = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SnapshotSortingEntity", type = "structure"))), tags = list(locationNameList = "SnapshotSortingEntity", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_snapshots_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), Snapshots = structure(list(structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Snapshot", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "Snapshot", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClusterSnapshotsResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_subnet_groups_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_subnet_groups_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ClusterSubnetGroups = structure(list(structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), SubnetGroupStatus = structure(logical(0), tags = list(type = "string")), Subnets = structure(list(structure(list(SubnetIdentifier = structure(logical(0), tags = list(type = "string")), SubnetAvailabilityZone = structure(list(Name = structure(logical(0), tags = list(type = "string")), SupportedPlatforms = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SupportedPlatform", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "SupportedPlatform", type = "list"))), tags = list(type = "structure", wrapper = TRUE)), SubnetStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Subnet", type = "structure"))), tags = list(locationNameList = "Subnet", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), SupportedClusterIpAddressTypes = structure(list(structure(logical(0), tags = list(locationName = "item", type = "string"))), tags = list(locationNameList = "item", type = "list"))), tags = list(locationName = "ClusterSubnetGroup", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ClusterSubnetGroup", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClusterSubnetGroupsResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_tracks_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_tracks_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(MaintenanceTracks = structure(list(structure(list(MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), DatabaseVersion = structure(logical(0), tags = list(type = "string")), UpdateTargets = structure(list(structure(list(MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), DatabaseVersion = structure(logical(0), tags = list(type = "string")), SupportedOperations = structure(list(structure(list(OperationName = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SupportedOperation", type = "structure"))), tags = list(locationNameList = "SupportedOperation", type = "list"))), tags = list(locationName = "UpdateTarget", type = "structure"))), tags = list(locationNameList = "UpdateTarget", type = "list"))), tags = list(locationName = "MaintenanceTrack", type = "structure"))), tags = list(locationNameList = "MaintenanceTrack", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeClusterTracksResult"))
  return(populate(args, shape))
}

.redshift$describe_cluster_versions_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterVersion = structure(logical(0), tags = list(type = "string")), ClusterParameterGroupFamily = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_cluster_versions_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ClusterVersions = structure(list(structure(list(ClusterVersion = structure(logical(0), tags = list(type = "string")), ClusterParameterGroupFamily = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterVersion", type = "structure"))), tags = list(locationNameList = "ClusterVersion", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClusterVersionsResult"))
  return(populate(args, shape))
}

.redshift$describe_clusters_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_clusters_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), Clusters = structure(list(structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(locationName = "Cluster", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "Cluster", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeClustersResult"))
  return(populate(args, shape))
}

.redshift$describe_custom_domain_associations_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_custom_domain_associations_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), Associations = structure(list(structure(list(CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), CertificateAssociations = structure(list(structure(list(CustomDomainName = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "CertificateAssociation", type = "structure"))), tags = list(locationNameList = "CertificateAssociation", type = "list"))), tags = list(locationName = "Association", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "Association", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeCustomDomainAssociationsResult"))
  return(populate(args, shape))
}

.redshift$describe_data_shares_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_data_shares_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShares = structure(list(structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeDataSharesResult"))
  return(populate(args, shape))
}

.redshift$describe_data_shares_for_consumer_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ConsumerArn = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_data_shares_for_consumer_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShares = structure(list(structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeDataSharesForConsumerResult"))
  return(populate(args, shape))
}

.redshift$describe_data_shares_for_producer_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ProducerArn = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_data_shares_for_producer_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShares = structure(list(structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeDataSharesForProducerResult"))
  return(populate(args, shape))
}

.redshift$describe_default_cluster_parameters_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupFamily = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_default_cluster_parameters_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DefaultClusterParameters = structure(list(ParameterGroupFamily = structure(logical(0), tags = list(type = "string")), Marker = structure(logical(0), tags = list(type = "string")), Parameters = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterValue = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Source = structure(logical(0), tags = list(type = "string")), DataType = structure(logical(0), tags = list(type = "string")), AllowedValues = structure(logical(0), tags = list(type = "string")), ApplyType = structure(logical(0), tags = list(type = "string")), IsModifiable = structure(logical(0), tags = list(type = "boolean")), MinimumEngineVersion = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Parameter", type = "structure"))), tags = list(locationNameList = "Parameter", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "DescribeDefaultClusterParametersResult"))
  return(populate(args, shape))
}

.redshift$describe_endpoint_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ResourceOwner = structure(logical(0), tags = list(type = "string")), EndpointName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_endpoint_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EndpointAccessList = structure(list(structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ResourceOwner = structure(logical(0), tags = list(type = "string")), SubnetGroupName = structure(logical(0), tags = list(type = "string")), EndpointStatus = structure(logical(0), tags = list(type = "string")), EndpointName = structure(logical(0), tags = list(type = "string")), EndpointCreateTime = structure(logical(0), tags = list(type = "timestamp")), Port = structure(logical(0), tags = list(type = "integer")), Address = structure(logical(0), tags = list(type = "string")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), VpcEndpoint = structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure"))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeEndpointAccessResult"))
  return(populate(args, shape))
}

.redshift$describe_endpoint_authorization_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), Account = structure(logical(0), tags = list(type = "string")), Grantee = structure(logical(0), tags = list(type = "boolean")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_endpoint_authorization_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EndpointAuthorizationList = structure(list(structure(list(Grantor = structure(logical(0), tags = list(type = "string")), Grantee = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), AuthorizeTime = structure(logical(0), tags = list(type = "timestamp")), ClusterStatus = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), AllowedAllVPCs = structure(logical(0), tags = list(type = "boolean")), AllowedVPCs = structure(list(structure(logical(0), tags = list(locationName = "VpcIdentifier", type = "string"))), tags = list(locationNameList = "VpcIdentifier", type = "list")), EndpointCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeEndpointAuthorizationResult"))
  return(populate(args, shape))
}

.redshift$describe_event_categories_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SourceType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_event_categories_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EventCategoriesMapList = structure(list(structure(list(SourceType = structure(logical(0), tags = list(type = "string")), Events = structure(list(structure(list(EventId = structure(logical(0), tags = list(type = "string")), EventCategories = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), EventDescription = structure(logical(0), tags = list(type = "string")), Severity = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "EventInfoMap", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "EventInfoMap", type = "list"))), tags = list(locationName = "EventCategoriesMap", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "EventCategoriesMap", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeEventCategoriesResult"))
  return(populate(args, shape))
}

.redshift$describe_event_subscriptions_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SubscriptionName = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_event_subscriptions_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), EventSubscriptionsList = structure(list(structure(list(CustomerAwsId = structure(logical(0), tags = list(type = "string")), CustSubscriptionId = structure(logical(0), tags = list(type = "string")), SnsTopicArn = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), SubscriptionCreationTime = structure(logical(0), tags = list(type = "timestamp")), SourceType = structure(logical(0), tags = list(type = "string")), SourceIdsList = structure(list(structure(logical(0), tags = list(locationName = "SourceId", type = "string"))), tags = list(locationNameList = "SourceId", type = "list")), EventCategoriesList = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), Severity = structure(logical(0), tags = list(type = "string")), Enabled = structure(logical(0), tags = list(type = "boolean")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "EventSubscription", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "EventSubscription", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeEventSubscriptionsResult"))
  return(populate(args, shape))
}

.redshift$describe_events_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SourceIdentifier = structure(logical(0), tags = list(type = "string")), SourceType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp")), Duration = structure(logical(0), tags = list(type = "integer")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_events_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), Events = structure(list(structure(list(SourceIdentifier = structure(logical(0), tags = list(type = "string")), SourceType = structure(logical(0), tags = list(type = "string")), Message = structure(logical(0), tags = list(type = "string")), EventCategories = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), Severity = structure(logical(0), tags = list(type = "string")), Date = structure(logical(0), tags = list(type = "timestamp")), EventId = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Event", type = "structure"))), tags = list(locationNameList = "Event", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeEventsResult"))
  return(populate(args, shape))
}

.redshift$describe_hsm_client_certificates_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_hsm_client_certificates_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), HsmClientCertificates = structure(list(structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmClientCertificatePublicKey = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "HsmClientCertificate", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "HsmClientCertificate", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeHsmClientCertificatesResult"))
  return(populate(args, shape))
}

.redshift$describe_hsm_configurations_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_hsm_configurations_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), HsmConfigurations = structure(list(structure(list(HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), HsmIpAddress = structure(logical(0), tags = list(type = "string")), HsmPartitionName = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "HsmConfiguration", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "HsmConfiguration", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeHsmConfigurationsResult"))
  return(populate(args, shape))
}

.redshift$describe_inbound_integrations_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(IntegrationArn = structure(logical(0), tags = list(type = "string")), TargetArn = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_inbound_integrations_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), InboundIntegrations = structure(list(structure(list(IntegrationArn = structure(logical(0), tags = list(type = "string")), SourceArn = structure(logical(0), tags = list(type = "string")), TargetArn = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), Errors = structure(list(structure(list(ErrorCode = structure(logical(0), tags = list(type = "string")), ErrorMessage = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "IntegrationError", type = "structure"))), tags = list(locationNameList = "IntegrationError", type = "list")), CreateTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "InboundIntegration", type = "structure"))), tags = list(locationNameList = "InboundIntegration", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeInboundIntegrationsResult"))
  return(populate(args, shape))
}

.redshift$describe_logging_status_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_logging_status_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(LoggingEnabled = structure(logical(0), tags = list(type = "boolean")), BucketName = structure(logical(0), tags = list(type = "string")), S3KeyPrefix = structure(logical(0), tags = list(type = "string")), LastSuccessfulDeliveryTime = structure(logical(0), tags = list(type = "timestamp")), LastFailureTime = structure(logical(0), tags = list(type = "timestamp")), LastFailureMessage = structure(logical(0), tags = list(type = "string")), LogDestinationType = structure(logical(0), tags = list(type = "string")), LogExports = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeLoggingStatusResult"))
  return(populate(args, shape))
}

.redshift$describe_node_configuration_options_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ActionType = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string")), OwnerAccount = structure(logical(0), tags = list(type = "string")), Filters = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string")), Operator = structure(logical(0), tags = list(type = "string")), Values = structure(list(structure(logical(0), tags = list(locationName = "item", type = "string"))), tags = list(locationNameList = "item", locationName = "Value", type = "list"))), tags = list(locationName = "NodeConfigurationOptionsFilter", type = "structure"))), tags = list(locationNameList = "NodeConfigurationOptionsFilter", locationName = "Filter", type = "list")), Marker = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_node_configuration_options_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(NodeConfigurationOptionList = structure(list(structure(list(NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), EstimatedDiskUtilizationPercent = structure(logical(0), tags = list(type = "double")), Mode = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NodeConfigurationOption", type = "structure"))), tags = list(locationNameList = "NodeConfigurationOption", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeNodeConfigurationOptionsResult"))
  return(populate(args, shape))
}

.redshift$describe_orderable_cluster_options_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterVersion = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_orderable_cluster_options_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(OrderableClusterOptions = structure(list(structure(list(ClusterVersion = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), AvailabilityZones = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string")), SupportedPlatforms = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SupportedPlatform", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "SupportedPlatform", type = "list"))), tags = list(locationName = "AvailabilityZone", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "AvailabilityZone", type = "list"))), tags = list(locationName = "OrderableClusterOption", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "OrderableClusterOption", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeOrderableClusterOptionsResult"))
  return(populate(args, shape))
}

.redshift$describe_partners_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AccountId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_partners_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(PartnerIntegrationInfoList = structure(list(structure(list(DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), StatusMessage = structure(logical(0), tags = list(type = "string")), CreatedAt = structure(logical(0), tags = list(type = "timestamp")), UpdatedAt = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "PartnerIntegrationInfo", type = "structure"))), tags = list(locationNameList = "PartnerIntegrationInfo", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribePartnersResult"))
  return(populate(args, shape))
}

.redshift$describe_redshift_idc_applications_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_redshift_idc_applications_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(RedshiftIdcApplications = structure(list(structure(list(IdcInstanceArn = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationName = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string")), IdentityNamespace = structure(logical(0), tags = list(type = "string")), IdcDisplayName = structure(logical(0), tags = list(type = "string")), IamRoleArn = structure(logical(0), tags = list(type = "string")), IdcManagedApplicationArn = structure(logical(0), tags = list(type = "string")), IdcOnboardStatus = structure(logical(0), tags = list(type = "string")), AuthorizedTokenIssuerList = structure(list(structure(list(TrustedTokenIssuerArn = structure(logical(0), tags = list(type = "string")), AuthorizedAudiencesList = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "list")), ServiceIntegrations = structure(list(structure(list(LakeFormation = structure(list(structure(list(LakeFormationQuery = structure(list(Authorization = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeRedshiftIdcApplicationsResult"))
  return(populate(args, shape))
}

.redshift$describe_reserved_node_exchange_status_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_reserved_node_exchange_status_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeExchangeStatusDetails = structure(list(structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(locationName = "ReservedNodeExchangeStatus", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ReservedNodeExchangeStatus", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeReservedNodeExchangeStatusResult"))
  return(populate(args, shape))
}

.redshift$describe_reserved_node_offerings_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_reserved_node_offerings_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ReservedNodeOfferings = structure(list(structure(list(ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ReservedNodeOffering", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ReservedNodeOffering", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeReservedNodeOfferingsResult"))
  return(populate(args, shape))
}

.redshift$describe_reserved_nodes_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_reserved_nodes_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ReservedNodes = structure(list(structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), NodeCount = structure(logical(0), tags = list(type = "integer")), State = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ReservedNode", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ReservedNode", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeReservedNodesResult"))
  return(populate(args, shape))
}

.redshift$describe_resize_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_resize_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(TargetNodeType = structure(logical(0), tags = list(type = "string")), TargetNumberOfNodes = structure(logical(0), tags = list(type = "integer")), TargetClusterType = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ImportTablesCompleted = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), ImportTablesInProgress = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), ImportTablesNotStarted = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), AvgResizeRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalResizeDataInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ResizeType = structure(logical(0), tags = list(type = "string")), Message = structure(logical(0), tags = list(type = "string")), TargetEncryptionType = structure(logical(0), tags = list(type = "string")), DataTransferProgressPercent = structure(logical(0), tags = list(type = "double"))), tags = list(type = "structure", resultWrapper = "DescribeResizeResult"))
  return(populate(args, shape))
}

.redshift$describe_scheduled_actions_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string")), TargetActionType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp")), Active = structure(logical(0), tags = list(type = "boolean")), Filters = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string")), Values = structure(list(structure(logical(0), tags = list(locationName = "item", type = "string"))), tags = list(locationNameList = "item", type = "list"))), tags = list(locationName = "ScheduledActionFilter", type = "structure"))), tags = list(locationNameList = "ScheduledActionFilter", type = "list")), Marker = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_scheduled_actions_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ScheduledActions = structure(list(structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string")), TargetAction = structure(list(ResizeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), Classic = structure(logical(0), tags = list(type = "boolean")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), PauseCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ResumeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure")), Schedule = structure(logical(0), tags = list(type = "string")), IamRole = structure(logical(0), tags = list(type = "string")), ScheduledActionDescription = structure(logical(0), tags = list(type = "string")), State = structure(logical(0), tags = list(type = "string")), NextInvocations = structure(list(structure(logical(0), tags = list(locationName = "ScheduledActionTime", type = "timestamp"))), tags = list(locationNameList = "ScheduledActionTime", type = "list")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "ScheduledAction", type = "structure"))), tags = list(locationNameList = "ScheduledAction", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeScheduledActionsResult"))
  return(populate(args, shape))
}

.redshift$describe_snapshot_copy_grants_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_snapshot_copy_grants_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), SnapshotCopyGrants = structure(list(structure(list(SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string")), KmsKeyId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "SnapshotCopyGrant", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "SnapshotCopyGrant", type = "list"))), tags = list(type = "structure", resultWrapper = "DescribeSnapshotCopyGrantsResult"))
  return(populate(args, shape))
}

.redshift$describe_snapshot_schedules_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list")), Marker = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_snapshot_schedules_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotSchedules = structure(list(structure(list(ScheduleDefinitions = structure(list(structure(logical(0), tags = list(locationName = "ScheduleDefinition", type = "string"))), tags = list(locationNameList = "ScheduleDefinition", type = "list")), ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleDescription = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), NextInvocations = structure(list(structure(logical(0), tags = list(locationName = "SnapshotTime", type = "timestamp"))), tags = list(locationNameList = "SnapshotTime", type = "list")), AssociatedClusterCount = structure(logical(0), tags = list(type = "integer")), AssociatedClusters = structure(list(structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleAssociationState = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterAssociatedToSchedule", type = "structure"))), tags = list(locationNameList = "ClusterAssociatedToSchedule", type = "list"))), tags = list(locationName = "SnapshotSchedule", type = "structure"))), tags = list(locationNameList = "SnapshotSchedule", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeSnapshotSchedulesResult"))
  return(populate(args, shape))
}

.redshift$describe_storage_input <- function(...) {
  list()
}

.redshift$describe_storage_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), TotalProvisionedStorageInMegaBytes = structure(logical(0), tags = list(type = "double"))), tags = list(type = "structure", resultWrapper = "DescribeStorageResult"))
  return(populate(args, shape))
}

.redshift$describe_table_restore_status_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), TableRestoreRequestId = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_table_restore_status_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(TableRestoreStatusDetails = structure(list(structure(list(TableRestoreRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), Message = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SourceDatabaseName = structure(logical(0), tags = list(type = "string")), SourceSchemaName = structure(logical(0), tags = list(type = "string")), SourceTableName = structure(logical(0), tags = list(type = "string")), TargetDatabaseName = structure(logical(0), tags = list(type = "string")), TargetSchemaName = structure(logical(0), tags = list(type = "string")), NewTableName = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "TableRestoreStatus", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "TableRestoreStatus", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeTableRestoreStatusResult"))
  return(populate(args, shape))
}

.redshift$describe_tags_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourceName = structure(logical(0), tags = list(type = "string")), ResourceType = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_tags_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(TaggedResources = structure(list(structure(list(Tag = structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ResourceName = structure(logical(0), tags = list(type = "string")), ResourceType = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "TaggedResource", type = "structure"))), tags = list(locationNameList = "TaggedResource", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeTagsResult"))
  return(populate(args, shape))
}

.redshift$describe_usage_limits_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(UsageLimitId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), FeatureType = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string")), TagKeys = structure(list(structure(logical(0), tags = list(locationName = "TagKey", type = "string"))), tags = list(locationNameList = "TagKey", type = "list")), TagValues = structure(list(structure(logical(0), tags = list(locationName = "TagValue", type = "string"))), tags = list(locationNameList = "TagValue", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$describe_usage_limits_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(UsageLimits = structure(list(structure(list(UsageLimitId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), FeatureType = structure(logical(0), tags = list(type = "string")), LimitType = structure(logical(0), tags = list(type = "string")), Amount = structure(logical(0), tags = list(type = "long")), Period = structure(logical(0), tags = list(type = "string")), BreachAction = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure"))), tags = list(type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DescribeUsageLimitsResult"))
  return(populate(args, shape))
}

.redshift$disable_logging_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$disable_logging_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(LoggingEnabled = structure(logical(0), tags = list(type = "boolean")), BucketName = structure(logical(0), tags = list(type = "string")), S3KeyPrefix = structure(logical(0), tags = list(type = "string")), LastSuccessfulDeliveryTime = structure(logical(0), tags = list(type = "timestamp")), LastFailureTime = structure(logical(0), tags = list(type = "timestamp")), LastFailureMessage = structure(logical(0), tags = list(type = "string")), LogDestinationType = structure(logical(0), tags = list(type = "string")), LogExports = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure", resultWrapper = "DisableLoggingResult"))
  return(populate(args, shape))
}

.redshift$disable_snapshot_copy_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$disable_snapshot_copy_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "DisableSnapshotCopyResult"))
  return(populate(args, shape))
}

.redshift$disassociate_data_share_consumer_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), DisassociateEntireAccount = structure(logical(0), tags = list(type = "boolean")), ConsumerArn = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$disassociate_data_share_consumer_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "DisassociateDataShareConsumerResult"))
  return(populate(args, shape))
}

.redshift$enable_logging_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), BucketName = structure(logical(0), tags = list(type = "string")), S3KeyPrefix = structure(logical(0), tags = list(type = "string")), LogDestinationType = structure(logical(0), tags = list(type = "string")), LogExports = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$enable_logging_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(LoggingEnabled = structure(logical(0), tags = list(type = "boolean")), BucketName = structure(logical(0), tags = list(type = "string")), S3KeyPrefix = structure(logical(0), tags = list(type = "string")), LastSuccessfulDeliveryTime = structure(logical(0), tags = list(type = "timestamp")), LastFailureTime = structure(logical(0), tags = list(type = "timestamp")), LastFailureMessage = structure(logical(0), tags = list(type = "string")), LogDestinationType = structure(logical(0), tags = list(type = "string")), LogExports = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure", resultWrapper = "EnableLoggingResult"))
  return(populate(args, shape))
}

.redshift$enable_snapshot_copy_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$enable_snapshot_copy_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "EnableSnapshotCopyResult"))
  return(populate(args, shape))
}

.redshift$failover_primary_compute_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$failover_primary_compute_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "FailoverPrimaryComputeResult"))
  return(populate(args, shape))
}

.redshift$get_cluster_credentials_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DbUser = structure(logical(0), tags = list(type = "string")), DbName = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DurationSeconds = structure(logical(0), tags = list(type = "integer")), AutoCreate = structure(logical(0), tags = list(type = "boolean")), DbGroups = structure(list(structure(logical(0), tags = list(locationName = "DbGroup", type = "string"))), tags = list(locationNameList = "DbGroup", type = "list")), CustomDomainName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$get_cluster_credentials_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DbUser = structure(logical(0), tags = list(type = "string")), DbPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), Expiration = structure(logical(0), tags = list(type = "timestamp"))), tags = list(type = "structure", resultWrapper = "GetClusterCredentialsResult"))
  return(populate(args, shape))
}

.redshift$get_cluster_credentials_with_iam_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DbName = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DurationSeconds = structure(logical(0), tags = list(type = "integer")), CustomDomainName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$get_cluster_credentials_with_iam_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DbUser = structure(logical(0), tags = list(type = "string")), DbPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), Expiration = structure(logical(0), tags = list(type = "timestamp")), NextRefreshTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(type = "structure", resultWrapper = "GetClusterCredentialsWithIAMResult"))
  return(populate(args, shape))
}

.redshift$get_reserved_node_exchange_configuration_options_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ActionType = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$get_reserved_node_exchange_configuration_options_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ReservedNodeConfigurationOptionList = structure(list(structure(list(SourceReservedNode = structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), NodeCount = structure(logical(0), tags = list(type = "integer")), State = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE)), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOffering = structure(list(ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(locationName = "ReservedNodeConfigurationOption", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ReservedNodeConfigurationOption", type = "list"))), tags = list(type = "structure", resultWrapper = "GetReservedNodeExchangeConfigurationOptionsResult"))
  return(populate(args, shape))
}

.redshift$get_reserved_node_exchange_offerings_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$get_reserved_node_exchange_offerings_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Marker = structure(logical(0), tags = list(type = "string")), ReservedNodeOfferings = structure(list(structure(list(ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ReservedNodeOffering", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "ReservedNodeOffering", type = "list"))), tags = list(type = "structure", resultWrapper = "GetReservedNodeExchangeOfferingsResult"))
  return(populate(args, shape))
}

.redshift$get_resource_policy_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourceArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$get_resource_policy_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourcePolicy = structure(list(ResourceArn = structure(logical(0), tags = list(type = "string")), Policy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", resultWrapper = "GetResourcePolicyResult"))
  return(populate(args, shape))
}

.redshift$list_recommendations_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NamespaceArn = structure(logical(0), tags = list(type = "string")), MaxRecords = structure(logical(0), tags = list(type = "integer")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$list_recommendations_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Recommendations = structure(list(structure(list(Id = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NamespaceArn = structure(logical(0), tags = list(type = "string")), CreatedAt = structure(logical(0), tags = list(type = "timestamp")), RecommendationType = structure(logical(0), tags = list(type = "string")), Title = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Observation = structure(logical(0), tags = list(type = "string")), ImpactRanking = structure(logical(0), tags = list(type = "string")), RecommendationText = structure(logical(0), tags = list(type = "string")), RecommendedActions = structure(list(structure(list(Text = structure(logical(0), tags = list(type = "string")), Database = structure(logical(0), tags = list(type = "string")), Command = structure(logical(0), tags = list(type = "string")), Type = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecommendedAction", type = "structure"))), tags = list(locationNameList = "RecommendedAction", type = "list")), ReferenceLinks = structure(list(structure(list(Text = structure(logical(0), tags = list(type = "string")), Link = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ReferenceLink", type = "structure"))), tags = list(locationNameList = "ReferenceLink", type = "list"))), tags = list(locationName = "Recommendation", type = "structure"))), tags = list(locationNameList = "Recommendation", type = "list")), Marker = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "ListRecommendationsResult"))
  return(populate(args, shape))
}

.redshift$modify_aqua_configuration_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_aqua_configuration_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", resultWrapper = "ModifyAquaConfigurationResult"))
  return(populate(args, shape))
}

.redshift$modify_authentication_profile_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string")), AuthenticationProfileContent = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_authentication_profile_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AuthenticationProfileName = structure(logical(0), tags = list(type = "string")), AuthenticationProfileContent = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "ModifyAuthenticationProfileResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(logical(0), tags = list(locationName = "ClusterSecurityGroupName", type = "string"))), tags = list(locationNameList = "ClusterSecurityGroupName", type = "list")), VpcSecurityGroupIds = structure(list(structure(logical(0), tags = list(locationName = "VpcSecurityGroupId", type = "string"))), tags = list(locationNameList = "VpcSecurityGroupId", type = "list")), MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), ClusterParameterGroupName = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), NewClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), ElasticIp = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), AvailabilityZoneRelocation = structure(logical(0), tags = list(type = "boolean")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), ManageMasterPassword = structure(logical(0), tags = list(type = "boolean")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyClusterResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_db_revision_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), RevisionTarget = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_db_revision_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyClusterDbRevisionResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_iam_roles_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), AddIamRoles = structure(list(structure(logical(0), tags = list(locationName = "IamRoleArn", type = "string"))), tags = list(locationNameList = "IamRoleArn", type = "list")), RemoveIamRoles = structure(list(structure(logical(0), tags = list(locationName = "IamRoleArn", type = "string"))), tags = list(locationNameList = "IamRoleArn", type = "list")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_iam_roles_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyClusterIamRolesResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_maintenance_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenance = structure(logical(0), tags = list(type = "boolean")), DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceDuration = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_maintenance_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyClusterMaintenanceResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_parameter_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), Parameters = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterValue = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Source = structure(logical(0), tags = list(type = "string")), DataType = structure(logical(0), tags = list(type = "string")), AllowedValues = structure(logical(0), tags = list(type = "string")), ApplyType = structure(logical(0), tags = list(type = "string")), IsModifiable = structure(logical(0), tags = list(type = "boolean")), MinimumEngineVersion = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Parameter", type = "structure"))), tags = list(locationNameList = "Parameter", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_parameter_group_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterGroupStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "ModifyClusterParameterGroupResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_snapshot_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), Force = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_snapshot_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Snapshot = structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyClusterSnapshotResult"))
  return(populate(args, shape))
}

.redshift$modify_cluster_snapshot_schedule_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), DisassociateSchedule = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_snapshot_schedule_output <- function(...) {
  list()
}

.redshift$modify_cluster_subnet_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), SubnetIds = structure(list(structure(logical(0), tags = list(locationName = "SubnetIdentifier", type = "string"))), tags = list(locationNameList = "SubnetIdentifier", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_cluster_subnet_group_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSubnetGroup = structure(list(ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), SubnetGroupStatus = structure(logical(0), tags = list(type = "string")), Subnets = structure(list(structure(list(SubnetIdentifier = structure(logical(0), tags = list(type = "string")), SubnetAvailabilityZone = structure(list(Name = structure(logical(0), tags = list(type = "string")), SupportedPlatforms = structure(list(structure(list(Name = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "SupportedPlatform", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "SupportedPlatform", type = "list"))), tags = list(type = "structure", wrapper = TRUE)), SubnetStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Subnet", type = "structure"))), tags = list(locationNameList = "Subnet", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), SupportedClusterIpAddressTypes = structure(list(structure(logical(0), tags = list(locationName = "item", type = "string"))), tags = list(locationNameList = "item", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyClusterSubnetGroupResult"))
  return(populate(args, shape))
}

.redshift$modify_custom_domain_association_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_custom_domain_association_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), CustomDomainCertExpiryTime = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "ModifyCustomDomainAssociationResult"))
  return(populate(args, shape))
}

.redshift$modify_endpoint_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EndpointName = structure(logical(0), tags = list(type = "string")), VpcSecurityGroupIds = structure(list(structure(logical(0), tags = list(locationName = "VpcSecurityGroupId", type = "string"))), tags = list(locationNameList = "VpcSecurityGroupId", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_endpoint_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ResourceOwner = structure(logical(0), tags = list(type = "string")), SubnetGroupName = structure(logical(0), tags = list(type = "string")), EndpointStatus = structure(logical(0), tags = list(type = "string")), EndpointName = structure(logical(0), tags = list(type = "string")), EndpointCreateTime = structure(logical(0), tags = list(type = "timestamp")), Port = structure(logical(0), tags = list(type = "integer")), Address = structure(logical(0), tags = list(type = "string")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), VpcEndpoint = structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", resultWrapper = "ModifyEndpointAccessResult"))
  return(populate(args, shape))
}

.redshift$modify_event_subscription_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SubscriptionName = structure(logical(0), tags = list(type = "string")), SnsTopicArn = structure(logical(0), tags = list(type = "string")), SourceType = structure(logical(0), tags = list(type = "string")), SourceIds = structure(list(structure(logical(0), tags = list(locationName = "SourceId", type = "string"))), tags = list(locationNameList = "SourceId", type = "list")), EventCategories = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), Severity = structure(logical(0), tags = list(type = "string")), Enabled = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_event_subscription_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(EventSubscription = structure(list(CustomerAwsId = structure(logical(0), tags = list(type = "string")), CustSubscriptionId = structure(logical(0), tags = list(type = "string")), SnsTopicArn = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), SubscriptionCreationTime = structure(logical(0), tags = list(type = "timestamp")), SourceType = structure(logical(0), tags = list(type = "string")), SourceIdsList = structure(list(structure(logical(0), tags = list(locationName = "SourceId", type = "string"))), tags = list(locationNameList = "SourceId", type = "list")), EventCategoriesList = structure(list(structure(logical(0), tags = list(locationName = "EventCategory", type = "string"))), tags = list(locationNameList = "EventCategory", type = "list")), Severity = structure(logical(0), tags = list(type = "string")), Enabled = structure(logical(0), tags = list(type = "boolean")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyEventSubscriptionResult"))
  return(populate(args, shape))
}

.redshift$modify_redshift_idc_application_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string")), IdentityNamespace = structure(logical(0), tags = list(type = "string")), IamRoleArn = structure(logical(0), tags = list(type = "string")), IdcDisplayName = structure(logical(0), tags = list(type = "string")), AuthorizedTokenIssuerList = structure(list(structure(list(TrustedTokenIssuerArn = structure(logical(0), tags = list(type = "string")), AuthorizedAudiencesList = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "list")), ServiceIntegrations = structure(list(structure(list(LakeFormation = structure(list(structure(list(LakeFormationQuery = structure(list(Authorization = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_redshift_idc_application_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(RedshiftIdcApplication = structure(list(IdcInstanceArn = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationName = structure(logical(0), tags = list(type = "string")), RedshiftIdcApplicationArn = structure(logical(0), tags = list(type = "string")), IdentityNamespace = structure(logical(0), tags = list(type = "string")), IdcDisplayName = structure(logical(0), tags = list(type = "string")), IamRoleArn = structure(logical(0), tags = list(type = "string")), IdcManagedApplicationArn = structure(logical(0), tags = list(type = "string")), IdcOnboardStatus = structure(logical(0), tags = list(type = "string")), AuthorizedTokenIssuerList = structure(list(structure(list(TrustedTokenIssuerArn = structure(logical(0), tags = list(type = "string")), AuthorizedAudiencesList = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "list")), ServiceIntegrations = structure(list(structure(list(LakeFormation = structure(list(structure(list(LakeFormationQuery = structure(list(Authorization = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", union = TRUE))), tags = list(type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifyRedshiftIdcApplicationResult"))
  return(populate(args, shape))
}

.redshift$modify_scheduled_action_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string")), TargetAction = structure(list(ResizeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), Classic = structure(logical(0), tags = list(type = "boolean")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), PauseCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ResumeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure")), Schedule = structure(logical(0), tags = list(type = "string")), IamRole = structure(logical(0), tags = list(type = "string")), ScheduledActionDescription = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp")), Enable = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_scheduled_action_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduledActionName = structure(logical(0), tags = list(type = "string")), TargetAction = structure(list(ResizeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), Classic = structure(logical(0), tags = list(type = "boolean")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), PauseCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ResumeCluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure")), Schedule = structure(logical(0), tags = list(type = "string")), IamRole = structure(logical(0), tags = list(type = "string")), ScheduledActionDescription = structure(logical(0), tags = list(type = "string")), State = structure(logical(0), tags = list(type = "string")), NextInvocations = structure(list(structure(logical(0), tags = list(locationName = "ScheduledActionTime", type = "timestamp"))), tags = list(locationNameList = "ScheduledActionTime", type = "list")), StartTime = structure(logical(0), tags = list(type = "timestamp")), EndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(type = "structure", resultWrapper = "ModifyScheduledActionResult"))
  return(populate(args, shape))
}

.redshift$modify_snapshot_copy_retention_period_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "integer")), Manual = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_snapshot_copy_retention_period_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ModifySnapshotCopyRetentionPeriodResult"))
  return(populate(args, shape))
}

.redshift$modify_snapshot_schedule_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleDefinitions = structure(list(structure(logical(0), tags = list(locationName = "ScheduleDefinition", type = "string"))), tags = list(locationNameList = "ScheduleDefinition", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_snapshot_schedule_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ScheduleDefinitions = structure(list(structure(logical(0), tags = list(locationName = "ScheduleDefinition", type = "string"))), tags = list(locationNameList = "ScheduleDefinition", type = "list")), ScheduleIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleDescription = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), NextInvocations = structure(list(structure(logical(0), tags = list(locationName = "SnapshotTime", type = "timestamp"))), tags = list(locationNameList = "SnapshotTime", type = "list")), AssociatedClusterCount = structure(logical(0), tags = list(type = "integer")), AssociatedClusters = structure(list(structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ScheduleAssociationState = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterAssociatedToSchedule", type = "structure"))), tags = list(locationNameList = "ClusterAssociatedToSchedule", type = "list"))), tags = list(type = "structure", resultWrapper = "ModifySnapshotScheduleResult"))
  return(populate(args, shape))
}

.redshift$modify_usage_limit_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(UsageLimitId = structure(logical(0), tags = list(type = "string")), Amount = structure(logical(0), tags = list(type = "long")), BreachAction = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$modify_usage_limit_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(UsageLimitId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), FeatureType = structure(logical(0), tags = list(type = "string")), LimitType = structure(logical(0), tags = list(type = "string")), Amount = structure(logical(0), tags = list(type = "long")), Period = structure(logical(0), tags = list(type = "string")), BreachAction = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", resultWrapper = "ModifyUsageLimitResult"))
  return(populate(args, shape))
}

.redshift$pause_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$pause_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "PauseClusterResult"))
  return(populate(args, shape))
}

.redshift$purchase_reserved_node_offering_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$purchase_reserved_node_offering_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ReservedNode = structure(list(ReservedNodeId = structure(logical(0), tags = list(type = "string")), ReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), StartTime = structure(logical(0), tags = list(type = "timestamp")), Duration = structure(logical(0), tags = list(type = "integer")), FixedPrice = structure(logical(0), tags = list(type = "double")), UsagePrice = structure(logical(0), tags = list(type = "double")), CurrencyCode = structure(logical(0), tags = list(type = "string")), NodeCount = structure(logical(0), tags = list(type = "integer")), State = structure(logical(0), tags = list(type = "string")), OfferingType = structure(logical(0), tags = list(type = "string")), RecurringCharges = structure(list(structure(list(RecurringChargeAmount = structure(logical(0), tags = list(type = "double")), RecurringChargeFrequency = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "RecurringCharge", type = "structure", wrapper = TRUE))), tags = list(locationNameList = "RecurringCharge", type = "list")), ReservedNodeOfferingType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "PurchaseReservedNodeOfferingResult"))
  return(populate(args, shape))
}

.redshift$put_resource_policy_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourceArn = structure(logical(0), tags = list(type = "string")), Policy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$put_resource_policy_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ResourcePolicy = structure(list(ResourceArn = structure(logical(0), tags = list(type = "string")), Policy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "structure", resultWrapper = "PutResourcePolicyResult"))
  return(populate(args, shape))
}

.redshift$reboot_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$reboot_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "RebootClusterResult"))
  return(populate(args, shape))
}

.redshift$reject_data_share_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$reject_data_share_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DataShareArn = structure(logical(0), tags = list(type = "string")), ProducerArn = structure(logical(0), tags = list(type = "string")), AllowPubliclyAccessibleConsumers = structure(logical(0), tags = list(type = "boolean")), DataShareAssociations = structure(list(structure(list(ConsumerIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), ConsumerRegion = structure(logical(0), tags = list(type = "string")), CreatedDate = structure(logical(0), tags = list(type = "timestamp")), StatusChangeDate = structure(logical(0), tags = list(type = "timestamp")), ProducerAllowedWrites = structure(logical(0), tags = list(type = "boolean")), ConsumerAcceptedWrites = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))), tags = list(type = "list")), ManagedBy = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "RejectDataShareResult"))
  return(populate(args, shape))
}

.redshift$reset_cluster_parameter_group_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ResetAllParameters = structure(logical(0), tags = list(type = "boolean")), Parameters = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterValue = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), Source = structure(logical(0), tags = list(type = "string")), DataType = structure(logical(0), tags = list(type = "string")), AllowedValues = structure(logical(0), tags = list(type = "string")), ApplyType = structure(logical(0), tags = list(type = "string")), IsModifiable = structure(logical(0), tags = list(type = "boolean")), MinimumEngineVersion = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Parameter", type = "structure"))), tags = list(locationNameList = "Parameter", type = "list"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$reset_cluster_parameter_group_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterGroupStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "ResetClusterParameterGroupResult"))
  return(populate(args, shape))
}

.redshift$resize_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), ClusterType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), Classic = structure(logical(0), tags = list(type = "boolean")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$resize_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ResizeClusterResult"))
  return(populate(args, shape))
}

.redshift$restore_from_cluster_snapshot_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), OwnerAccount = structure(logical(0), tags = list(type = "string")), HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), ElasticIp = structure(logical(0), tags = list(type = "string")), ClusterParameterGroupName = structure(logical(0), tags = list(type = "string")), ClusterSecurityGroups = structure(list(structure(logical(0), tags = list(locationName = "ClusterSecurityGroupName", type = "string"))), tags = list(locationNameList = "ClusterSecurityGroupName", type = "list")), VpcSecurityGroupIds = structure(list(structure(logical(0), tags = list(locationName = "VpcSecurityGroupId", type = "string"))), tags = list(locationNameList = "VpcSecurityGroupId", type = "list")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), KmsKeyId = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), AdditionalInfo = structure(logical(0), tags = list(type = "string")), IamRoles = structure(list(structure(logical(0), tags = list(locationName = "IamRoleArn", type = "string"))), tags = list(locationNameList = "IamRoleArn", type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), AvailabilityZoneRelocation = structure(logical(0), tags = list(type = "boolean")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), ManageMasterPassword = structure(logical(0), tags = list(type = "boolean")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$restore_from_cluster_snapshot_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "RestoreFromClusterSnapshotResult"))
  return(populate(args, shape))
}

.redshift$restore_table_from_cluster_snapshot_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SourceDatabaseName = structure(logical(0), tags = list(type = "string")), SourceSchemaName = structure(logical(0), tags = list(type = "string")), SourceTableName = structure(logical(0), tags = list(type = "string")), TargetDatabaseName = structure(logical(0), tags = list(type = "string")), TargetSchemaName = structure(logical(0), tags = list(type = "string")), NewTableName = structure(logical(0), tags = list(type = "string")), EnableCaseSensitiveIdentifier = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$restore_table_from_cluster_snapshot_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(TableRestoreStatus = structure(list(TableRestoreRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), Message = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SourceDatabaseName = structure(logical(0), tags = list(type = "string")), SourceSchemaName = structure(logical(0), tags = list(type = "string")), SourceTableName = structure(logical(0), tags = list(type = "string")), TargetDatabaseName = structure(logical(0), tags = list(type = "string")), TargetSchemaName = structure(logical(0), tags = list(type = "string")), NewTableName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "RestoreTableFromClusterSnapshotResult"))
  return(populate(args, shape))
}

.redshift$resume_cluster_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$resume_cluster_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "ResumeClusterResult"))
  return(populate(args, shape))
}

.redshift$revoke_cluster_security_group_ingress_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), CIDRIP = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupName = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupOwnerId = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$revoke_cluster_security_group_ingress_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterSecurityGroup = structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Description = structure(logical(0), tags = list(type = "string")), EC2SecurityGroups = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupName = structure(logical(0), tags = list(type = "string")), EC2SecurityGroupOwnerId = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "EC2SecurityGroup", type = "structure"))), tags = list(locationNameList = "EC2SecurityGroup", type = "list")), IPRanges = structure(list(structure(list(Status = structure(logical(0), tags = list(type = "string")), CIDRIP = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(locationName = "IPRange", type = "structure"))), tags = list(locationNameList = "IPRange", type = "list")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "RevokeClusterSecurityGroupIngressResult"))
  return(populate(args, shape))
}

.redshift$revoke_endpoint_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), Account = structure(logical(0), tags = list(type = "string")), VpcIds = structure(list(structure(logical(0), tags = list(locationName = "VpcIdentifier", type = "string"))), tags = list(locationNameList = "VpcIdentifier", type = "list")), Force = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$revoke_endpoint_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Grantor = structure(logical(0), tags = list(type = "string")), Grantee = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), AuthorizeTime = structure(logical(0), tags = list(type = "timestamp")), ClusterStatus = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), AllowedAllVPCs = structure(logical(0), tags = list(type = "boolean")), AllowedVPCs = structure(list(structure(logical(0), tags = list(locationName = "VpcIdentifier", type = "string"))), tags = list(locationNameList = "VpcIdentifier", type = "list")), EndpointCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", resultWrapper = "RevokeEndpointAccessResult"))
  return(populate(args, shape))
}

.redshift$revoke_snapshot_access_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string")), SnapshotClusterIdentifier = structure(logical(0), tags = list(type = "string")), AccountWithRestoreAccess = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$revoke_snapshot_access_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Snapshot = structure(list(SnapshotIdentifier = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotCreateTime = structure(logical(0), tags = list(type = "timestamp")), Status = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), MasterUsername = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), EngineFullVersion = structure(logical(0), tags = list(type = "string")), SnapshotType = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), DBName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), Encrypted = structure(logical(0), tags = list(type = "boolean")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EncryptedWithHSM = structure(logical(0), tags = list(type = "boolean")), AccountsWithRestoreAccess = structure(list(structure(list(AccountId = structure(logical(0), tags = list(type = "string")), AccountAlias = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "AccountWithRestoreAccess", type = "structure"))), tags = list(locationNameList = "AccountWithRestoreAccess", type = "list")), OwnerAccount = structure(logical(0), tags = list(type = "string")), TotalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), ActualIncrementalBackupSizeInMegaBytes = structure(logical(0), tags = list(type = "double")), BackupProgressInMegaBytes = structure(logical(0), tags = list(type = "double")), CurrentBackupRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), EstimatedSecondsToCompletion = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), SourceRegion = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), RestorableNodeTypes = structure(list(structure(logical(0), tags = list(locationName = "NodeType", type = "string"))), tags = list(locationNameList = "NodeType", type = "list")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRemainingDays = structure(logical(0), tags = list(type = "integer")), SnapshotRetentionStartTime = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), SnapshotArn = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "RevokeSnapshotAccessResult"))
  return(populate(args, shape))
}

.redshift$rotate_encryption_key_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$rotate_encryption_key_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(Cluster = structure(list(ClusterIdentifier = structure(logical(0), tags = list(type = "string")), NodeType = structure(logical(0), tags = list(type = "string")), ClusterStatus = structure(logical(0), tags = list(type = "string")), ClusterAvailabilityStatus = structure(logical(0), tags = list(type = "string")), ModifyStatus = structure(logical(0), tags = list(type = "string")), MasterUsername = structure(logical(0), tags = list(type = "string")), DBName = structure(logical(0), tags = list(type = "string")), Endpoint = structure(list(Address = structure(logical(0), tags = list(type = "string")), Port = structure(logical(0), tags = list(type = "integer")), VpcEndpoints = structure(list(structure(list(VpcEndpointId = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), NetworkInterfaces = structure(list(structure(list(NetworkInterfaceId = structure(logical(0), tags = list(type = "string")), SubnetId = structure(logical(0), tags = list(type = "string")), PrivateIpAddress = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), Ipv6Address = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "NetworkInterface", type = "structure"))), tags = list(locationNameList = "NetworkInterface", type = "list"))), tags = list(locationName = "VpcEndpoint", type = "structure"))), tags = list(locationNameList = "VpcEndpoint", type = "list"))), tags = list(type = "structure")), ClusterCreateTime = structure(logical(0), tags = list(type = "timestamp")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterSecurityGroups = structure(list(structure(list(ClusterSecurityGroupName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterSecurityGroup", type = "structure"))), tags = list(locationNameList = "ClusterSecurityGroup", type = "list")), VpcSecurityGroups = structure(list(structure(list(VpcSecurityGroupId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "VpcSecurityGroup", type = "structure"))), tags = list(locationNameList = "VpcSecurityGroup", type = "list")), ClusterParameterGroups = structure(list(structure(list(ParameterGroupName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ClusterParameterStatusList = structure(list(structure(list(ParameterName = structure(logical(0), tags = list(type = "string")), ParameterApplyStatus = structure(logical(0), tags = list(type = "string")), ParameterApplyErrorDescription = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(locationName = "ClusterParameterGroup", type = "structure"))), tags = list(locationNameList = "ClusterParameterGroup", type = "list")), ClusterSubnetGroupName = structure(logical(0), tags = list(type = "string")), VpcId = structure(logical(0), tags = list(type = "string")), AvailabilityZone = structure(logical(0), tags = list(type = "string")), PreferredMaintenanceWindow = structure(logical(0), tags = list(type = "string")), PendingModifiedValues = structure(list(MasterUserPassword = structure(logical(0), tags = list(type = "string", sensitive = TRUE)), NodeType = structure(logical(0), tags = list(type = "string")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), ClusterType = structure(logical(0), tags = list(type = "string")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AutomatedSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), EncryptionType = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterVersion = structure(logical(0), tags = list(type = "string")), AllowVersionUpgrade = structure(logical(0), tags = list(type = "boolean")), NumberOfNodes = structure(logical(0), tags = list(type = "integer")), PubliclyAccessible = structure(logical(0), tags = list(type = "boolean")), Encrypted = structure(logical(0), tags = list(type = "boolean")), RestoreStatus = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRestoreRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), SnapshotSizeInMegaBytes = structure(logical(0), tags = list(type = "long")), ProgressInMegaBytes = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), DataTransferProgress = structure(list(Status = structure(logical(0), tags = list(type = "string")), CurrentRateInMegaBytesPerSecond = structure(logical(0), tags = list(type = "double")), TotalDataInMegaBytes = structure(logical(0), tags = list(type = "long")), DataTransferredInMegaBytes = structure(logical(0), tags = list(type = "long")), EstimatedTimeToCompletionInSeconds = structure(logical(0), tags = list(type = "long")), ElapsedTimeInSeconds = structure(logical(0), tags = list(type = "long"))), tags = list(type = "structure")), HsmStatus = structure(list(HsmClientCertificateIdentifier = structure(logical(0), tags = list(type = "string")), HsmConfigurationIdentifier = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterSnapshotCopyStatus = structure(list(DestinationRegion = structure(logical(0), tags = list(type = "string")), RetentionPeriod = structure(logical(0), tags = list(type = "long")), ManualSnapshotRetentionPeriod = structure(logical(0), tags = list(type = "integer")), SnapshotCopyGrantName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterPublicKey = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list")), ElasticIpStatus = structure(list(ElasticIp = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), ClusterRevisionNumber = structure(logical(0), tags = list(type = "string")), Tags = structure(list(structure(list(Key = structure(logical(0), tags = list(type = "string")), Value = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "Tag", type = "structure"))), tags = list(locationNameList = "Tag", type = "list")), KmsKeyId = structure(logical(0), tags = list(type = "string")), EnhancedVpcRouting = structure(logical(0), tags = list(type = "boolean")), IamRoles = structure(list(structure(list(IamRoleArn = structure(logical(0), tags = list(type = "string")), ApplyStatus = structure(logical(0), tags = list(type = "string"))), tags = list(locationName = "ClusterIamRole", type = "structure"))), tags = list(locationNameList = "ClusterIamRole", type = "list")), PendingActions = structure(list(structure(logical(0), tags = list(type = "string"))), tags = list(type = "list")), MaintenanceTrackName = structure(logical(0), tags = list(type = "string")), ElasticResizeNumberOfNodeOptions = structure(logical(0), tags = list(type = "string")), DeferredMaintenanceWindows = structure(list(structure(list(DeferMaintenanceIdentifier = structure(logical(0), tags = list(type = "string")), DeferMaintenanceStartTime = structure(logical(0), tags = list(type = "timestamp")), DeferMaintenanceEndTime = structure(logical(0), tags = list(type = "timestamp"))), tags = list(locationName = "DeferredMaintenanceWindow", type = "structure"))), tags = list(locationNameList = "DeferredMaintenanceWindow", type = "list")), SnapshotScheduleIdentifier = structure(logical(0), tags = list(type = "string")), SnapshotScheduleState = structure(logical(0), tags = list(type = "string")), ExpectedNextSnapshotScheduleTime = structure(logical(0), tags = list(type = "timestamp")), ExpectedNextSnapshotScheduleTimeStatus = structure(logical(0), tags = list(type = "string")), NextMaintenanceWindowStartTime = structure(logical(0), tags = list(type = "timestamp")), ResizeInfo = structure(list(ResizeType = structure(logical(0), tags = list(type = "string")), AllowCancelResize = structure(logical(0), tags = list(type = "boolean"))), tags = list(type = "structure")), AvailabilityZoneRelocationStatus = structure(logical(0), tags = list(type = "string")), ClusterNamespaceArn = structure(logical(0), tags = list(type = "string")), TotalStorageCapacityInMegaBytes = structure(logical(0), tags = list(type = "long")), AquaConfiguration = structure(list(AquaStatus = structure(logical(0), tags = list(type = "string")), AquaConfigurationStatus = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure")), DefaultIamRoleArn = structure(logical(0), tags = list(type = "string")), ReservedNodeExchangeStatus = structure(list(ReservedNodeExchangeRequestId = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), RequestTime = structure(logical(0), tags = list(type = "timestamp")), SourceReservedNodeId = structure(logical(0), tags = list(type = "string")), SourceReservedNodeType = structure(logical(0), tags = list(type = "string")), SourceReservedNodeCount = structure(logical(0), tags = list(type = "integer")), TargetReservedNodeOfferingId = structure(logical(0), tags = list(type = "string")), TargetReservedNodeType = structure(logical(0), tags = list(type = "string")), TargetReservedNodeCount = structure(logical(0), tags = list(type = "integer"))), tags = list(type = "structure", wrapper = TRUE)), CustomDomainName = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateArn = structure(logical(0), tags = list(type = "string")), CustomDomainCertificateExpiryDate = structure(logical(0), tags = list(type = "timestamp")), MasterPasswordSecretArn = structure(logical(0), tags = list(type = "string")), MasterPasswordSecretKmsKeyId = structure(logical(0), tags = list(type = "string")), IpAddressType = structure(logical(0), tags = list(type = "string")), MultiAZ = structure(logical(0), tags = list(type = "string")), MultiAZSecondary = structure(list(AvailabilityZone = structure(logical(0), tags = list(type = "string")), ClusterNodes = structure(list(structure(list(NodeRole = structure(logical(0), tags = list(type = "string")), PrivateIPAddress = structure(logical(0), tags = list(type = "string")), PublicIPAddress = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))), tags = list(type = "list"))), tags = list(type = "structure"))), tags = list(type = "structure", wrapper = TRUE))), tags = list(type = "structure", resultWrapper = "RotateEncryptionKeyResult"))
  return(populate(args, shape))
}

.redshift$update_partner_status_input <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(AccountId = structure(logical(0), tags = list(type = "string")), ClusterIdentifier = structure(logical(0), tags = list(type = "string")), DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string")), Status = structure(logical(0), tags = list(type = "string")), StatusMessage = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure"))
  return(populate(args, shape))
}

.redshift$update_partner_status_output <- function(...) {
  args <- c(as.list(environment()), list(...))
  shape <- structure(list(DatabaseName = structure(logical(0), tags = list(type = "string")), PartnerName = structure(logical(0), tags = list(type = "string"))), tags = list(type = "structure", resultWrapper = "UpdatePartnerStatusResult"))
  return(populate(args, shape))
}

Try the paws.database package in your browser

Any scripts or data that you put into this service are public.

paws.database documentation built on June 22, 2024, 11:50 a.m.