1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 smithydocument "github.com/aws/smithy-go/document" 7 "time" 8) 9 10// A name value pair that describes an aspect of an account. 11type AccountAttribute struct { 12 13 // The name of the attribute. 14 AttributeName *string 15 16 // A list of attribute values. 17 AttributeValues []AttributeValueTarget 18 19 noSmithyDocumentSerde 20} 21 22// Describes an Amazon Web Services account authorized to restore a snapshot. 23type AccountWithRestoreAccess struct { 24 25 // The identifier of an Amazon Web Services support account authorized to restore a 26 // snapshot. For Amazon Web Services Support, the identifier is 27 // amazon-redshift-support. 28 AccountAlias *string 29 30 // The identifier of an Amazon Web Services account authorized to restore a 31 // snapshot. 32 AccountId *string 33 34 noSmithyDocumentSerde 35} 36 37// The AQUA (Advanced Query Accelerator) configuration of the cluster. 38type AquaConfiguration struct { 39 40 // The value represents how the cluster is configured to use AQUA. Possible values 41 // include the following. 42 // 43 // * enabled - Use AQUA if it is available for the current 44 // Amazon Web Services Region and Amazon Redshift node type. 45 // 46 // * disabled - Don't 47 // use AQUA. 48 // 49 // * auto - Amazon Redshift determines whether to use AQUA. 50 AquaConfigurationStatus AquaConfigurationStatus 51 52 // The value indicates the status of AQUA on the cluster. Possible values include 53 // the following. 54 // 55 // * enabled - AQUA is enabled. 56 // 57 // * disabled - AQUA is not 58 // enabled. 59 // 60 // * applying - AQUA status is being applied. 61 AquaStatus AquaStatus 62 63 noSmithyDocumentSerde 64} 65 66// Describes an attribute value. 67type AttributeValueTarget struct { 68 69 // The value of the attribute. 70 AttributeValue *string 71 72 noSmithyDocumentSerde 73} 74 75// Describes an authentication profile. 76type AuthenticationProfile struct { 77 78 // The content of the authentication profile in JSON format. The maximum length of 79 // the JSON string is determined by a quota for your account. 80 AuthenticationProfileContent *string 81 82 // The name of the authentication profile. 83 AuthenticationProfileName *string 84 85 noSmithyDocumentSerde 86} 87 88// Describes an availability zone. 89type AvailabilityZone struct { 90 91 // The name of the availability zone. 92 Name *string 93 94 // 95 SupportedPlatforms []SupportedPlatform 96 97 noSmithyDocumentSerde 98} 99 100// Describes a cluster. 101type Cluster struct { 102 103 // A boolean value that, if true, indicates that major version upgrades will be 104 // applied automatically to the cluster during the maintenance window. 105 AllowVersionUpgrade bool 106 107 // The AQUA (Advanced Query Accelerator) configuration of the cluster. 108 AquaConfiguration *AquaConfiguration 109 110 // The number of days that automatic cluster snapshots are retained. 111 AutomatedSnapshotRetentionPeriod int32 112 113 // The name of the Availability Zone in which the cluster is located. 114 AvailabilityZone *string 115 116 // Describes the status of the Availability Zone relocation operation. 117 AvailabilityZoneRelocationStatus *string 118 119 // The availability status of the cluster for queries. Possible values are the 120 // following: 121 // 122 // * Available - The cluster is available for queries. 123 // 124 // * Unavailable - 125 // The cluster is not available for queries. 126 // 127 // * Maintenance - The cluster is 128 // intermittently available for queries due to maintenance activities. 129 // 130 // * Modifying 131 // - The cluster is intermittently available for queries due to changes that modify 132 // the cluster. 133 // 134 // * Failed - The cluster failed and is not available for queries. 135 ClusterAvailabilityStatus *string 136 137 // The date and time that the cluster was created. 138 ClusterCreateTime *time.Time 139 140 // The unique identifier of the cluster. 141 ClusterIdentifier *string 142 143 // The namespace Amazon Resource Name (ARN) of the cluster. 144 ClusterNamespaceArn *string 145 146 // The nodes in the cluster. 147 ClusterNodes []ClusterNode 148 149 // The list of cluster parameter groups that are associated with this cluster. Each 150 // parameter group in the list is returned with its status. 151 ClusterParameterGroups []ClusterParameterGroupStatus 152 153 // The public key for the cluster. 154 ClusterPublicKey *string 155 156 // The specific revision number of the database in the cluster. 157 ClusterRevisionNumber *string 158 159 // A list of cluster security group that are associated with the cluster. Each 160 // security group is represented by an element that contains 161 // ClusterSecurityGroup.Name and ClusterSecurityGroup.Status subelements. Cluster 162 // security groups are used when the cluster is not created in an Amazon Virtual 163 // Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, 164 // which are listed by the VpcSecurityGroups parameter. 165 ClusterSecurityGroups []ClusterSecurityGroupMembership 166 167 // A value that returns the destination region and retention period that are 168 // configured for cross-region snapshot copy. 169 ClusterSnapshotCopyStatus *ClusterSnapshotCopyStatus 170 171 // The current state of the cluster. Possible values are the following: 172 // 173 // * 174 // available 175 // 176 // * available, prep-for-resize 177 // 178 // * available, resize-cleanup 179 // 180 // * 181 // cancelling-resize 182 // 183 // * creating 184 // 185 // * deleting 186 // 187 // * final-snapshot 188 // 189 // * 190 // hardware-failure 191 // 192 // * incompatible-hsm 193 // 194 // * incompatible-network 195 // 196 // * 197 // incompatible-parameters 198 // 199 // * incompatible-restore 200 // 201 // * modifying 202 // 203 // * paused 204 // 205 // * 206 // rebooting 207 // 208 // * renaming 209 // 210 // * resizing 211 // 212 // * rotating-keys 213 // 214 // * storage-full 215 // 216 // * 217 // updating-hsm 218 ClusterStatus *string 219 220 // The name of the subnet group that is associated with the cluster. This parameter 221 // is valid only when the cluster is in a VPC. 222 ClusterSubnetGroupName *string 223 224 // The version ID of the Amazon Redshift engine that is running on the cluster. 225 ClusterVersion *string 226 227 // The name of the initial database that was created when the cluster was created. 228 // This same name is returned for the life of the cluster. If an initial database 229 // was not specified, a database named devdev was created by default. 230 DBName *string 231 232 // 233 DataTransferProgress *DataTransferProgress 234 235 // Describes a group of DeferredMaintenanceWindow objects. 236 DeferredMaintenanceWindows []DeferredMaintenanceWindow 237 238 // The status of the elastic IP (EIP) address. 239 ElasticIpStatus *ElasticIpStatus 240 241 // The number of nodes that you can resize the cluster to with the elastic resize 242 // method. 243 ElasticResizeNumberOfNodeOptions *string 244 245 // A boolean value that, if true, indicates that data in the cluster is encrypted 246 // at rest. 247 Encrypted bool 248 249 // The connection endpoint. 250 Endpoint *Endpoint 251 252 // An option that specifies whether to create the cluster with enhanced VPC routing 253 // enabled. To create a cluster that uses enhanced VPC routing, the cluster must be 254 // in a VPC. For more information, see Enhanced VPC Routing 255 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in 256 // the Amazon Redshift Cluster Management Guide. If this option is true, enhanced 257 // VPC routing is enabled. Default: false 258 EnhancedVpcRouting bool 259 260 // The date and time when the next snapshot is expected to be taken for clusters 261 // with a valid snapshot schedule and backups enabled. 262 ExpectedNextSnapshotScheduleTime *time.Time 263 264 // The status of next expected snapshot for clusters having a valid snapshot 265 // schedule and backups enabled. Possible values are the following: 266 // 267 // * OnTrack - 268 // The next snapshot is expected to be taken on time. 269 // 270 // * Pending - The next 271 // snapshot is pending to be taken. 272 ExpectedNextSnapshotScheduleTimeStatus *string 273 274 // A value that reports whether the Amazon Redshift cluster has finished applying 275 // any hardware security module (HSM) settings changes specified in a modify 276 // cluster command. Values: active, applying 277 HsmStatus *HsmStatus 278 279 // A list of Identity and Access Management (IAM) roles that can be used by the 280 // cluster to access other Amazon Web Services services. 281 IamRoles []ClusterIamRole 282 283 // The Key Management Service (KMS) key ID of the encryption key used to encrypt 284 // data in the cluster. 285 KmsKeyId *string 286 287 // The name of the maintenance track for the cluster. 288 MaintenanceTrackName *string 289 290 // The default number of days to retain a manual snapshot. If the value is -1, the 291 // snapshot is retained indefinitely. This setting doesn't change the retention 292 // period of existing snapshots. The value must be either -1 or an integer between 293 // 1 and 3,653. 294 ManualSnapshotRetentionPeriod int32 295 296 // The admin user name for the cluster. This name is used to connect to the 297 // database that is specified in the DBName parameter. 298 MasterUsername *string 299 300 // The status of a modify operation, if any, initiated for the cluster. 301 ModifyStatus *string 302 303 // The date and time in UTC when system maintenance can begin. 304 NextMaintenanceWindowStartTime *time.Time 305 306 // The node type for the nodes in the cluster. 307 NodeType *string 308 309 // The number of compute nodes in the cluster. 310 NumberOfNodes int32 311 312 // Cluster operations that are waiting to be started. 313 PendingActions []string 314 315 // A value that, if present, indicates that changes to the cluster are pending. 316 // Specific pending changes are identified by subelements. 317 PendingModifiedValues *PendingModifiedValues 318 319 // The weekly time range, in Universal Coordinated Time (UTC), during which system 320 // maintenance can occur. 321 PreferredMaintenanceWindow *string 322 323 // A boolean value that, if true, indicates that the cluster can be accessed from a 324 // public network. 325 PubliclyAccessible bool 326 327 // Returns the following: 328 // 329 // * AllowCancelResize: a boolean value indicating if the 330 // resize operation can be cancelled. 331 // 332 // * ResizeType: Returns ClassicResize 333 ResizeInfo *ResizeInfo 334 335 // A value that describes the status of a cluster restore action. This parameter 336 // returns null if the cluster was not created by restoring a snapshot. 337 RestoreStatus *RestoreStatus 338 339 // A unique identifier for the cluster snapshot schedule. 340 SnapshotScheduleIdentifier *string 341 342 // The current state of the cluster snapshot schedule. 343 SnapshotScheduleState ScheduleState 344 345 // The list of tags for the cluster. 346 Tags []Tag 347 348 // The total storage capacity of the cluster in megabytes. 349 TotalStorageCapacityInMegaBytes *int64 350 351 // The identifier of the VPC the cluster is in, if the cluster is in a VPC. 352 VpcId *string 353 354 // A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are 355 // associated with the cluster. This parameter is returned only if the cluster is 356 // in a VPC. 357 VpcSecurityGroups []VpcSecurityGroupMembership 358 359 noSmithyDocumentSerde 360} 361 362// 363type ClusterAssociatedToSchedule struct { 364 365 // 366 ClusterIdentifier *string 367 368 // 369 ScheduleAssociationState ScheduleState 370 371 noSmithyDocumentSerde 372} 373 374// Describes a ClusterDbRevision. 375type ClusterDbRevision struct { 376 377 // The unique identifier of the cluster. 378 ClusterIdentifier *string 379 380 // A string representing the current cluster version. 381 CurrentDatabaseRevision *string 382 383 // The date on which the database revision was released. 384 DatabaseRevisionReleaseDate *time.Time 385 386 // A list of RevisionTarget objects, where each object describes the database 387 // revision that a cluster can be updated to. 388 RevisionTargets []RevisionTarget 389 390 noSmithyDocumentSerde 391} 392 393// An Identity and Access Management (IAM) role that can be used by the associated 394// Amazon Redshift cluster to access other Amazon Web Services services. 395type ClusterIamRole struct { 396 397 // A value that describes the status of the IAM role's association with an Amazon 398 // Redshift cluster. The following are possible statuses and descriptions. 399 // 400 // * 401 // in-sync: The role is available for use by the cluster. 402 // 403 // * adding: The role is in 404 // the process of being associated with the cluster. 405 // 406 // * removing: The role is in 407 // the process of being disassociated with the cluster. 408 ApplyStatus *string 409 410 // The Amazon Resource Name (ARN) of the IAM role, for example, 411 // arn:aws:iam::123456789012:role/RedshiftCopyUnload. 412 IamRoleArn *string 413 414 noSmithyDocumentSerde 415} 416 417// The identifier of a node in a cluster. 418type ClusterNode struct { 419 420 // Whether the node is a leader node or a compute node. 421 NodeRole *string 422 423 // The private IP address of a node within a cluster. 424 PrivateIPAddress *string 425 426 // The public IP address of a node within a cluster. 427 PublicIPAddress *string 428 429 noSmithyDocumentSerde 430} 431 432// Describes a parameter group. 433type ClusterParameterGroup struct { 434 435 // The description of the parameter group. 436 Description *string 437 438 // The name of the cluster parameter group family that this cluster parameter group 439 // is compatible with. 440 ParameterGroupFamily *string 441 442 // The name of the cluster parameter group. 443 ParameterGroupName *string 444 445 // The list of tags for the cluster parameter group. 446 Tags []Tag 447 448 noSmithyDocumentSerde 449} 450 451// Describes the status of a parameter group. 452type ClusterParameterGroupStatus struct { 453 454 // The list of parameter statuses. For more information about parameters and 455 // parameter groups, go to Amazon Redshift Parameter Groups 456 // (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 457 // in the Amazon Redshift Cluster Management Guide. 458 ClusterParameterStatusList []ClusterParameterStatus 459 460 // The status of parameter updates. 461 ParameterApplyStatus *string 462 463 // The name of the cluster parameter group. 464 ParameterGroupName *string 465 466 noSmithyDocumentSerde 467} 468 469// Describes the status of a parameter group. 470type ClusterParameterStatus struct { 471 472 // The error that prevented the parameter from being applied to the database. 473 ParameterApplyErrorDescription *string 474 475 // The status of the parameter that indicates whether the parameter is in sync with 476 // the database, waiting for a cluster reboot, or encountered an error when being 477 // applied. The following are possible statuses and descriptions. 478 // 479 // * in-sync: The 480 // parameter value is in sync with the database. 481 // 482 // * pending-reboot: The parameter 483 // value will be applied after the cluster reboots. 484 // 485 // * applying: The parameter 486 // value is being applied to the database. 487 // 488 // * invalid-parameter: Cannot apply the 489 // parameter value because it has an invalid value or syntax. 490 // 491 // * apply-deferred: 492 // The parameter contains static property changes. The changes are deferred until 493 // the cluster reboots. 494 // 495 // * apply-error: Cannot connect to the cluster. The 496 // parameter change will be applied after the cluster reboots. 497 // 498 // * unknown-error: 499 // Cannot apply the parameter change right now. The change will be applied after 500 // the cluster reboots. 501 ParameterApplyStatus *string 502 503 // The name of the parameter. 504 ParameterName *string 505 506 noSmithyDocumentSerde 507} 508 509// Describes a security group. 510type ClusterSecurityGroup struct { 511 512 // The name of the cluster security group to which the operation was applied. 513 ClusterSecurityGroupName *string 514 515 // A description of the security group. 516 Description *string 517 518 // A list of EC2 security groups that are permitted to access clusters associated 519 // with this cluster security group. 520 EC2SecurityGroups []EC2SecurityGroup 521 522 // A list of IP ranges (CIDR blocks) that are permitted to access clusters 523 // associated with this cluster security group. 524 IPRanges []IPRange 525 526 // The list of tags for the cluster security group. 527 Tags []Tag 528 529 noSmithyDocumentSerde 530} 531 532// Describes a cluster security group. 533type ClusterSecurityGroupMembership struct { 534 535 // The name of the cluster security group. 536 ClusterSecurityGroupName *string 537 538 // The status of the cluster security group. 539 Status *string 540 541 noSmithyDocumentSerde 542} 543 544// Returns the destination region and retention period that are configured for 545// cross-region snapshot copy. 546type ClusterSnapshotCopyStatus struct { 547 548 // The destination region that snapshots are automatically copied to when 549 // cross-region snapshot copy is enabled. 550 DestinationRegion *string 551 552 // The number of days that automated snapshots are retained in the destination 553 // region after they are copied from a source region. If the value is -1, the 554 // manual snapshot is retained indefinitely. The value must be either -1 or an 555 // integer between 1 and 3,653. 556 ManualSnapshotRetentionPeriod int32 557 558 // The number of days that automated snapshots are retained in the destination 559 // region after they are copied from a source region. 560 RetentionPeriod int64 561 562 // The name of the snapshot copy grant. 563 SnapshotCopyGrantName *string 564 565 noSmithyDocumentSerde 566} 567 568// Describes a subnet group. 569type ClusterSubnetGroup struct { 570 571 // The name of the cluster subnet group. 572 ClusterSubnetGroupName *string 573 574 // The description of the cluster subnet group. 575 Description *string 576 577 // The status of the cluster subnet group. Possible values are Complete, Incomplete 578 // and Invalid. 579 SubnetGroupStatus *string 580 581 // A list of the VPC Subnet elements. 582 Subnets []Subnet 583 584 // The list of tags for the cluster subnet group. 585 Tags []Tag 586 587 // The VPC ID of the cluster subnet group. 588 VpcId *string 589 590 noSmithyDocumentSerde 591} 592 593// Describes a cluster version, including the parameter group family and 594// description of the version. 595type ClusterVersion struct { 596 597 // The name of the cluster parameter group family for the cluster. 598 ClusterParameterGroupFamily *string 599 600 // The version number used by the cluster. 601 ClusterVersion *string 602 603 // The description of the cluster version. 604 Description *string 605 606 noSmithyDocumentSerde 607} 608 609type DataShare struct { 610 611 // A value that specifies whether the datashare can be shared to a publicly 612 // accessible cluster. 613 AllowPubliclyAccessibleConsumers bool 614 615 // An Amazon Resource Name (ARN) that references the datashare that is owned by a 616 // specific namespace of the producer cluster. A datashare ARN is in the 617 // arn:aws:redshift:{region}:{account-id}:{datashare}:{namespace-guid}/{datashare-name} 618 // format. 619 DataShareArn *string 620 621 // A value that specifies when the datashare has an association between a producer 622 // and data consumers. 623 DataShareAssociations []DataShareAssociation 624 625 // The Amazon Resource Name (ARN) of the producer. 626 ProducerArn *string 627 628 noSmithyDocumentSerde 629} 630 631// The association of a datashare from a producer account with a data consumer. 632type DataShareAssociation struct { 633 634 // The name of the consumer accounts that have an association with a producer 635 // datashare. 636 ConsumerIdentifier *string 637 638 // The creation date of the datashare that is associated. 639 CreatedDate *time.Time 640 641 // The status of the datashare that is associated. 642 Status DataShareStatus 643 644 // The status change data of the datashare that is associated. 645 StatusChangeDate *time.Time 646 647 noSmithyDocumentSerde 648} 649 650// Describes the status of a cluster while it is in the process of resizing with an 651// incremental resize. 652type DataTransferProgress struct { 653 654 // Describes the data transfer rate in MB's per second. 655 CurrentRateInMegaBytesPerSecond *float64 656 657 // Describes the total amount of data that has been transfered in MB's. 658 DataTransferredInMegaBytes int64 659 660 // Describes the number of seconds that have elapsed during the data transfer. 661 ElapsedTimeInSeconds *int64 662 663 // Describes the estimated number of seconds remaining to complete the transfer. 664 EstimatedTimeToCompletionInSeconds *int64 665 666 // Describes the status of the cluster. While the transfer is in progress the 667 // status is transferringdata. 668 Status *string 669 670 // Describes the total amount of data to be transfered in megabytes. 671 TotalDataInMegaBytes int64 672 673 noSmithyDocumentSerde 674} 675 676// Describes the default cluster parameters for a parameter group family. 677type DefaultClusterParameters struct { 678 679 // A value that indicates the starting point for the next set of response records 680 // in a subsequent request. If a value is returned in a response, you can retrieve 681 // the next set of records by providing this returned marker value in the Marker 682 // parameter and retrying the command. If the Marker field is empty, all response 683 // records have been retrieved for the request. 684 Marker *string 685 686 // The name of the cluster parameter group family to which the engine default 687 // parameters apply. 688 ParameterGroupFamily *string 689 690 // The list of cluster default parameters. 691 Parameters []Parameter 692 693 noSmithyDocumentSerde 694} 695 696// Describes a deferred maintenance window 697type DeferredMaintenanceWindow struct { 698 699 // A timestamp for the end of the time period when we defer maintenance. 700 DeferMaintenanceEndTime *time.Time 701 702 // A unique identifier for the maintenance window. 703 DeferMaintenanceIdentifier *string 704 705 // A timestamp for the beginning of the time period when we defer maintenance. 706 DeferMaintenanceStartTime *time.Time 707 708 noSmithyDocumentSerde 709} 710 711// 712type DeleteClusterSnapshotMessage struct { 713 714 // The unique identifier of the manual snapshot to be deleted. Constraints: Must be 715 // the name of an existing snapshot that is in the available, failed, or cancelled 716 // state. 717 // 718 // This member is required. 719 SnapshotIdentifier *string 720 721 // The unique identifier of the cluster the snapshot was created from. This 722 // parameter is required if your IAM user has a policy containing a snapshot 723 // resource element that specifies anything other than * for the cluster name. 724 // Constraints: Must be the name of valid cluster. 725 SnapshotClusterIdentifier *string 726 727 noSmithyDocumentSerde 728} 729 730// Describes an Amazon EC2 security group. 731type EC2SecurityGroup struct { 732 733 // The name of the EC2 Security Group. 734 EC2SecurityGroupName *string 735 736 // The Amazon Web Services account ID of the owner of the EC2 security group 737 // specified in the EC2SecurityGroupName field. 738 EC2SecurityGroupOwnerId *string 739 740 // The status of the EC2 security group. 741 Status *string 742 743 // The list of tags for the EC2 security group. 744 Tags []Tag 745 746 noSmithyDocumentSerde 747} 748 749// Describes the status of the elastic IP (EIP) address. 750type ElasticIpStatus struct { 751 752 // The elastic IP (EIP) address for the cluster. 753 ElasticIp *string 754 755 // The status of the elastic IP (EIP) address. 756 Status *string 757 758 noSmithyDocumentSerde 759} 760 761// Describes a connection endpoint. 762type Endpoint struct { 763 764 // The DNS address of the Cluster. 765 Address *string 766 767 // The port that the database engine is listening on. 768 Port int32 769 770 // Describes a connection endpoint. 771 VpcEndpoints []VpcEndpoint 772 773 noSmithyDocumentSerde 774} 775 776// Describes a Redshift-managed VPC endpoint. 777type EndpointAccess struct { 778 779 // The DNS address of the endpoint. 780 Address *string 781 782 // The cluster identifier of the cluster associated with the endpoint. 783 ClusterIdentifier *string 784 785 // The time (UTC) that the endpoint was created. 786 EndpointCreateTime *time.Time 787 788 // The name of the endpoint. 789 EndpointName *string 790 791 // The status of the endpoint. 792 EndpointStatus *string 793 794 // The port number on which the cluster accepts incoming connections. 795 Port int32 796 797 // The Amazon Web Services account ID of the owner of the cluster. 798 ResourceOwner *string 799 800 // The subnet group name where Amazon Redshift chooses to deploy the endpoint. 801 SubnetGroupName *string 802 803 // The connection endpoint for connecting to an Amazon Redshift cluster through the 804 // proxy. 805 VpcEndpoint *VpcEndpoint 806 807 // The security groups associated with the endpoint. 808 VpcSecurityGroups []VpcSecurityGroupMembership 809 810 noSmithyDocumentSerde 811} 812 813// Describes an endpoint authorization for authorizing Redshift-managed VPC 814// endpoint access to a cluster across Amazon Web Services accounts. 815type EndpointAuthorization struct { 816 817 // Indicates whether all VPCs in the grantee account are allowed access to the 818 // cluster. 819 AllowedAllVPCs bool 820 821 // The VPCs allowed access to the cluster. 822 AllowedVPCs []string 823 824 // The time (UTC) when the authorization was created. 825 AuthorizeTime *time.Time 826 827 // The cluster identifier. 828 ClusterIdentifier *string 829 830 // The status of the cluster. 831 ClusterStatus *string 832 833 // The number of Redshift-managed VPC endpoints created for the authorization. 834 EndpointCount int32 835 836 // The Amazon Web Services account ID of the grantee of the cluster. 837 Grantee *string 838 839 // The Amazon Web Services account ID of the cluster owner. 840 Grantor *string 841 842 // The status of the authorization action. 843 Status AuthorizationStatus 844 845 noSmithyDocumentSerde 846} 847 848// Describes an event. 849type Event struct { 850 851 // The date and time of the event. 852 Date *time.Time 853 854 // A list of the event categories. Values: Configuration, Management, Monitoring, 855 // Security, Pending 856 EventCategories []string 857 858 // The identifier of the event. 859 EventId *string 860 861 // The text of this event. 862 Message *string 863 864 // The severity of the event. Values: ERROR, INFO 865 Severity *string 866 867 // The identifier for the source of the event. 868 SourceIdentifier *string 869 870 // The source type for this event. 871 SourceType SourceType 872 873 noSmithyDocumentSerde 874} 875 876// Describes event categories. 877type EventCategoriesMap struct { 878 879 // The events in the event category. 880 Events []EventInfoMap 881 882 // The source type, such as cluster or cluster-snapshot, that the returned 883 // categories belong to. 884 SourceType *string 885 886 noSmithyDocumentSerde 887} 888 889// Describes event information. 890type EventInfoMap struct { 891 892 // The category of an Amazon Redshift event. 893 EventCategories []string 894 895 // The description of an Amazon Redshift event. 896 EventDescription *string 897 898 // The identifier of an Amazon Redshift event. 899 EventId *string 900 901 // The severity of the event. Values: ERROR, INFO 902 Severity *string 903 904 noSmithyDocumentSerde 905} 906 907// Describes event subscriptions. 908type EventSubscription struct { 909 910 // The name of the Amazon Redshift event notification subscription. 911 CustSubscriptionId *string 912 913 // The Amazon Web Services account associated with the Amazon Redshift event 914 // notification subscription. 915 CustomerAwsId *string 916 917 // A boolean value indicating whether the subscription is enabled; true indicates 918 // that the subscription is enabled. 919 Enabled bool 920 921 // The list of Amazon Redshift event categories specified in the event notification 922 // subscription. Values: Configuration, Management, Monitoring, Security, Pending 923 EventCategoriesList []string 924 925 // The event severity specified in the Amazon Redshift event notification 926 // subscription. Values: ERROR, INFO 927 Severity *string 928 929 // The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event 930 // notification subscription. 931 SnsTopicArn *string 932 933 // A list of the sources that publish events to the Amazon Redshift event 934 // notification subscription. 935 SourceIdsList []string 936 937 // The source type of the events returned by the Amazon Redshift event 938 // notification, such as cluster, cluster-snapshot, cluster-parameter-group, 939 // cluster-security-group, or scheduled-action. 940 SourceType *string 941 942 // The status of the Amazon Redshift event notification subscription. 943 // Constraints: 944 // 945 // * Can be one of the following: active | no-permission | 946 // topic-not-exist 947 // 948 // * The status "no-permission" indicates that Amazon Redshift no 949 // longer has permission to post to the Amazon SNS topic. The status 950 // "topic-not-exist" indicates that the topic was deleted after the subscription 951 // was created. 952 Status *string 953 954 // The date and time the Amazon Redshift event notification subscription was 955 // created. 956 SubscriptionCreationTime *time.Time 957 958 // The list of tags for the event subscription. 959 Tags []Tag 960 961 noSmithyDocumentSerde 962} 963 964// Returns information about an HSM client certificate. The certificate is stored 965// in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift 966// cluster to encrypt data files. 967type HsmClientCertificate struct { 968 969 // The identifier of the HSM client certificate. 970 HsmClientCertificateIdentifier *string 971 972 // The public key that the Amazon Redshift cluster will use to connect to the HSM. 973 // You must register the public key in the HSM. 974 HsmClientCertificatePublicKey *string 975 976 // The list of tags for the HSM client certificate. 977 Tags []Tag 978 979 noSmithyDocumentSerde 980} 981 982// Returns information about an HSM configuration, which is an object that 983// describes to Amazon Redshift clusters the information they require to connect to 984// an HSM where they can store database encryption keys. 985type HsmConfiguration struct { 986 987 // A text description of the HSM configuration. 988 Description *string 989 990 // The name of the Amazon Redshift HSM configuration. 991 HsmConfigurationIdentifier *string 992 993 // The IP address that the Amazon Redshift cluster must use to access the HSM. 994 HsmIpAddress *string 995 996 // The name of the partition in the HSM where the Amazon Redshift clusters will 997 // store their database encryption keys. 998 HsmPartitionName *string 999 1000 // The list of tags for the HSM configuration. 1001 Tags []Tag 1002 1003 noSmithyDocumentSerde 1004} 1005 1006// Describes the status of changes to HSM settings. 1007type HsmStatus struct { 1008 1009 // Specifies the name of the HSM client certificate the Amazon Redshift cluster 1010 // uses to retrieve the data encryption keys stored in an HSM. 1011 HsmClientCertificateIdentifier *string 1012 1013 // Specifies the name of the HSM configuration that contains the information the 1014 // Amazon Redshift cluster can use to retrieve and store keys in an HSM. 1015 HsmConfigurationIdentifier *string 1016 1017 // Reports whether the Amazon Redshift cluster has finished applying any HSM 1018 // settings changes specified in a modify cluster command. Values: active, applying 1019 Status *string 1020 1021 noSmithyDocumentSerde 1022} 1023 1024// Describes an IP range used in a security group. 1025type IPRange struct { 1026 1027 // The IP range in Classless Inter-Domain Routing (CIDR) notation. 1028 CIDRIP *string 1029 1030 // The status of the IP range, for example, "authorized". 1031 Status *string 1032 1033 // The list of tags for the IP range. 1034 Tags []Tag 1035 1036 noSmithyDocumentSerde 1037} 1038 1039// Defines a maintenance track that determines which Amazon Redshift version to 1040// apply during a maintenance window. If the value for MaintenanceTrack is current, 1041// the cluster is updated to the most recently certified maintenance release. If 1042// the value is trailing, the cluster is updated to the previously certified 1043// maintenance release. 1044type MaintenanceTrack struct { 1045 1046 // The version number for the cluster release. 1047 DatabaseVersion *string 1048 1049 // The name of the maintenance track. Possible values are current and trailing. 1050 MaintenanceTrackName *string 1051 1052 // An array of UpdateTarget objects to update with the maintenance track. 1053 UpdateTargets []UpdateTarget 1054 1055 noSmithyDocumentSerde 1056} 1057 1058// Describes a network interface. 1059type NetworkInterface struct { 1060 1061 // The Availability Zone. 1062 AvailabilityZone *string 1063 1064 // The network interface identifier. 1065 NetworkInterfaceId *string 1066 1067 // The IPv4 address of the network interface within the subnet. 1068 PrivateIpAddress *string 1069 1070 // The subnet identifier. 1071 SubnetId *string 1072 1073 noSmithyDocumentSerde 1074} 1075 1076// A list of node configurations. 1077type NodeConfigurationOption struct { 1078 1079 // The estimated disk utilizaton percentage. 1080 EstimatedDiskUtilizationPercent *float64 1081 1082 // The category of the node configuration recommendation. 1083 Mode Mode 1084 1085 // The node type, such as, "ds2.8xlarge". 1086 NodeType *string 1087 1088 // The number of nodes. 1089 NumberOfNodes int32 1090 1091 noSmithyDocumentSerde 1092} 1093 1094// A set of elements to filter the returned node configurations. 1095type NodeConfigurationOptionsFilter struct { 1096 1097 // The name of the element to filter. 1098 Name NodeConfigurationOptionsFilterName 1099 1100 // The filter operator. If filter Name is NodeType only the 'in' operator is 1101 // supported. Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 'ge'. 1102 // Provide two values to evaluate for 'between'. Provide a list of values for 'in'. 1103 Operator OperatorType 1104 1105 // List of values. Compare Name using Operator to Values. If filter Name is 1106 // NumberOfNodes, then values can range from 0 to 200. If filter Name is 1107 // EstimatedDiskUtilizationPercent, then values can range from 0 to 100. For 1108 // example, filter NumberOfNodes (name) GT (operator) 3 (values). 1109 Values []string 1110 1111 noSmithyDocumentSerde 1112} 1113 1114// Describes an orderable cluster option. 1115type OrderableClusterOption struct { 1116 1117 // A list of availability zones for the orderable cluster. 1118 AvailabilityZones []AvailabilityZone 1119 1120 // The cluster type, for example multi-node. 1121 ClusterType *string 1122 1123 // The version of the orderable cluster. 1124 ClusterVersion *string 1125 1126 // The node type for the orderable cluster. 1127 NodeType *string 1128 1129 noSmithyDocumentSerde 1130} 1131 1132// Describes a parameter in a cluster parameter group. 1133type Parameter struct { 1134 1135 // The valid range of values for the parameter. 1136 AllowedValues *string 1137 1138 // Specifies how to apply the WLM configuration parameter. Some properties can be 1139 // applied dynamically, while other properties require that any associated clusters 1140 // be rebooted for the configuration changes to be applied. For more information 1141 // about parameters and parameter groups, go to Amazon Redshift Parameter Groups 1142 // (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 1143 // in the Amazon Redshift Cluster Management Guide. 1144 ApplyType ParameterApplyType 1145 1146 // The data type of the parameter. 1147 DataType *string 1148 1149 // A description of the parameter. 1150 Description *string 1151 1152 // If true, the parameter can be modified. Some parameters have security or 1153 // operational implications that prevent them from being changed. 1154 IsModifiable bool 1155 1156 // The earliest engine version to which the parameter can apply. 1157 MinimumEngineVersion *string 1158 1159 // The name of the parameter. 1160 ParameterName *string 1161 1162 // The value of the parameter. If ParameterName is wlm_json_configuration, then the 1163 // maximum size of ParameterValue is 8000 characters. 1164 ParameterValue *string 1165 1166 // The source of the parameter value, such as "engine-default" or "user". 1167 Source *string 1168 1169 noSmithyDocumentSerde 1170} 1171 1172// Describes a partner integration. 1173type PartnerIntegrationInfo struct { 1174 1175 // The date (UTC) that the partner integration was created. 1176 CreatedAt *time.Time 1177 1178 // The name of the database that receives data from a partner. 1179 DatabaseName *string 1180 1181 // The name of the partner. 1182 PartnerName *string 1183 1184 // The partner integration status. 1185 Status PartnerIntegrationStatus 1186 1187 // The status message provided by the partner. 1188 StatusMessage *string 1189 1190 // The date (UTC) that the partner integration status was last updated by the 1191 // partner. 1192 UpdatedAt *time.Time 1193 1194 noSmithyDocumentSerde 1195} 1196 1197// Describes a pause cluster operation. For example, a scheduled action to run the 1198// PauseCluster API operation. 1199type PauseClusterMessage struct { 1200 1201 // The identifier of the cluster to be paused. 1202 // 1203 // This member is required. 1204 ClusterIdentifier *string 1205 1206 noSmithyDocumentSerde 1207} 1208 1209// Describes cluster attributes that are in a pending state. A change to one or 1210// more the attributes was requested and is in progress or will be applied. 1211type PendingModifiedValues struct { 1212 1213 // The pending or in-progress change of the automated snapshot retention period. 1214 AutomatedSnapshotRetentionPeriod *int32 1215 1216 // The pending or in-progress change of the new identifier for the cluster. 1217 ClusterIdentifier *string 1218 1219 // The pending or in-progress change of the cluster type. 1220 ClusterType *string 1221 1222 // The pending or in-progress change of the service version. 1223 ClusterVersion *string 1224 1225 // The encryption type for a cluster. Possible values are: KMS and None. 1226 EncryptionType *string 1227 1228 // An option that specifies whether to create the cluster with enhanced VPC routing 1229 // enabled. To create a cluster that uses enhanced VPC routing, the cluster must be 1230 // in a VPC. For more information, see Enhanced VPC Routing 1231 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in 1232 // the Amazon Redshift Cluster Management Guide. If this option is true, enhanced 1233 // VPC routing is enabled. Default: false 1234 EnhancedVpcRouting *bool 1235 1236 // The name of the maintenance track that the cluster will change to during the 1237 // next maintenance window. 1238 MaintenanceTrackName *string 1239 1240 // The pending or in-progress change of the admin user password for the cluster. 1241 MasterUserPassword *string 1242 1243 // The pending or in-progress change of the cluster's node type. 1244 NodeType *string 1245 1246 // The pending or in-progress change of the number of nodes in the cluster. 1247 NumberOfNodes *int32 1248 1249 // The pending or in-progress change of the ability to connect to the cluster from 1250 // the public network. 1251 PubliclyAccessible *bool 1252 1253 noSmithyDocumentSerde 1254} 1255 1256// Describes a recurring charge. 1257type RecurringCharge struct { 1258 1259 // The amount charged per the period of time specified by the recurring charge 1260 // frequency. 1261 RecurringChargeAmount float64 1262 1263 // The frequency at which the recurring charge amount is applied. 1264 RecurringChargeFrequency *string 1265 1266 noSmithyDocumentSerde 1267} 1268 1269// Describes a reserved node. You can call the DescribeReservedNodeOfferings API to 1270// obtain the available reserved node offerings. 1271type ReservedNode struct { 1272 1273 // The currency code for the reserved cluster. 1274 CurrencyCode *string 1275 1276 // The duration of the node reservation in seconds. 1277 Duration int32 1278 1279 // The fixed cost Amazon Redshift charges you for this reserved node. 1280 FixedPrice float64 1281 1282 // The number of reserved compute nodes. 1283 NodeCount int32 1284 1285 // The node type of the reserved node. 1286 NodeType *string 1287 1288 // The anticipated utilization of the reserved node, as defined in the reserved 1289 // node offering. 1290 OfferingType *string 1291 1292 // The recurring charges for the reserved node. 1293 RecurringCharges []RecurringCharge 1294 1295 // The unique identifier for the reservation. 1296 ReservedNodeId *string 1297 1298 // The identifier for the reserved node offering. 1299 ReservedNodeOfferingId *string 1300 1301 // 1302 ReservedNodeOfferingType ReservedNodeOfferingType 1303 1304 // The time the reservation started. You purchase a reserved node offering for a 1305 // duration. This is the start time of that duration. 1306 StartTime *time.Time 1307 1308 // The state of the reserved compute node. Possible Values: 1309 // 1310 // * pending-payment-This 1311 // reserved node has recently been purchased, and the sale has been approved, but 1312 // payment has not yet been confirmed. 1313 // 1314 // * active-This reserved node is owned by the 1315 // caller and is available for use. 1316 // 1317 // * payment-failed-Payment failed for the 1318 // purchase attempt. 1319 // 1320 // * retired-The reserved node is no longer available. 1321 // 1322 // * 1323 // exchanging-The owner is exchanging the reserved node for another reserved node. 1324 State *string 1325 1326 // The hourly rate Amazon Redshift charges you for this reserved node. 1327 UsagePrice float64 1328 1329 noSmithyDocumentSerde 1330} 1331 1332// Describes a reserved node offering. 1333type ReservedNodeOffering struct { 1334 1335 // The currency code for the compute nodes offering. 1336 CurrencyCode *string 1337 1338 // The duration, in seconds, for which the offering will reserve the node. 1339 Duration int32 1340 1341 // The upfront fixed charge you will pay to purchase the specific reserved node 1342 // offering. 1343 FixedPrice float64 1344 1345 // The node type offered by the reserved node offering. 1346 NodeType *string 1347 1348 // The anticipated utilization of the reserved node, as defined in the reserved 1349 // node offering. 1350 OfferingType *string 1351 1352 // The charge to your account regardless of whether you are creating any clusters 1353 // using the node offering. Recurring charges are only in effect for 1354 // heavy-utilization reserved nodes. 1355 RecurringCharges []RecurringCharge 1356 1357 // The offering identifier. 1358 ReservedNodeOfferingId *string 1359 1360 // 1361 ReservedNodeOfferingType ReservedNodeOfferingType 1362 1363 // The rate you are charged for each hour the cluster that is using the offering is 1364 // running. 1365 UsagePrice float64 1366 1367 noSmithyDocumentSerde 1368} 1369 1370// Describes a resize cluster operation. For example, a scheduled action to run the 1371// ResizeCluster API operation. 1372type ResizeClusterMessage struct { 1373 1374 // The unique identifier for the cluster to resize. 1375 // 1376 // This member is required. 1377 ClusterIdentifier *string 1378 1379 // A boolean value indicating whether the resize operation is using the classic 1380 // resize process. If you don't provide this parameter or set the value to false, 1381 // the resize type is elastic. 1382 Classic *bool 1383 1384 // The new cluster type for the specified cluster. 1385 ClusterType *string 1386 1387 // The new node type for the nodes you are adding. If not specified, the cluster's 1388 // current node type is used. 1389 NodeType *string 1390 1391 // The new number of nodes for the cluster. If not specified, the cluster's current 1392 // number of nodes is used. 1393 NumberOfNodes *int32 1394 1395 noSmithyDocumentSerde 1396} 1397 1398// Describes a resize operation. 1399type ResizeInfo struct { 1400 1401 // A boolean value indicating if the resize operation can be cancelled. 1402 AllowCancelResize bool 1403 1404 // Returns the value ClassicResize. 1405 ResizeType *string 1406 1407 noSmithyDocumentSerde 1408} 1409 1410// Describes the status of a cluster restore action. Returns null if the cluster 1411// was not created by restoring a snapshot. 1412type RestoreStatus struct { 1413 1414 // The number of megabytes per second being transferred from the backup storage. 1415 // Returns the average rate for a completed backup. This field is only updated when 1416 // you restore to DC2 and DS2 node types. 1417 CurrentRestoreRateInMegaBytesPerSecond float64 1418 1419 // The amount of time an in-progress restore has been running, or the amount of 1420 // time it took a completed restore to finish. This field is only updated when you 1421 // restore to DC2 and DS2 node types. 1422 ElapsedTimeInSeconds int64 1423 1424 // The estimate of the time remaining before the restore will complete. Returns 0 1425 // for a completed restore. This field is only updated when you restore to DC2 and 1426 // DS2 node types. 1427 EstimatedTimeToCompletionInSeconds int64 1428 1429 // The number of megabytes that have been transferred from snapshot storage. This 1430 // field is only updated when you restore to DC2 and DS2 node types. 1431 ProgressInMegaBytes int64 1432 1433 // The size of the set of snapshot data used to restore the cluster. This field is 1434 // only updated when you restore to DC2 and DS2 node types. 1435 SnapshotSizeInMegaBytes int64 1436 1437 // The status of the restore action. Returns starting, restoring, completed, or 1438 // failed. 1439 Status *string 1440 1441 noSmithyDocumentSerde 1442} 1443 1444// Describes a resume cluster operation. For example, a scheduled action to run the 1445// ResumeCluster API operation. 1446type ResumeClusterMessage struct { 1447 1448 // The identifier of the cluster to be resumed. 1449 // 1450 // This member is required. 1451 ClusterIdentifier *string 1452 1453 noSmithyDocumentSerde 1454} 1455 1456// Describes a RevisionTarget. 1457type RevisionTarget struct { 1458 1459 // A unique string that identifies the version to update the cluster to. You can 1460 // use this value in ModifyClusterDbRevision. 1461 DatabaseRevision *string 1462 1463 // The date on which the database revision was released. 1464 DatabaseRevisionReleaseDate *time.Time 1465 1466 // A string that describes the changes and features that will be applied to the 1467 // cluster when it is updated to the corresponding ClusterDbRevision. 1468 Description *string 1469 1470 noSmithyDocumentSerde 1471} 1472 1473// Describes a scheduled action. You can use a scheduled action to trigger some 1474// Amazon Redshift API operations on a schedule. For information about which API 1475// operations can be scheduled, see ScheduledActionType. 1476type ScheduledAction struct { 1477 1478 // The end time in UTC when the schedule is no longer active. After this time, the 1479 // scheduled action does not trigger. 1480 EndTime *time.Time 1481 1482 // The IAM role to assume to run the scheduled action. This IAM role must have 1483 // permission to run the Amazon Redshift API operation in the scheduled action. 1484 // This IAM role must allow the Amazon Redshift scheduler (Principal 1485 // scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more 1486 // information about the IAM role to use with the Amazon Redshift scheduler, see 1487 // Using Identity-Based Policies for Amazon Redshift 1488 // (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) 1489 // in the Amazon Redshift Cluster Management Guide. 1490 IamRole *string 1491 1492 // List of times when the scheduled action will run. 1493 NextInvocations []time.Time 1494 1495 // The schedule for a one-time (at format) or recurring (cron format) scheduled 1496 // action. Schedule invocations must be separated by at least one hour. Format of 1497 // at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, 1498 // "at(2016-03-04T17:27:00)". Format of cron expressions is "cron(Minutes Hours 1499 // Day-of-month Month Day-of-week Year)". For example, "cron(0 10 ? * MON *)". For 1500 // more information, see Cron Expressions 1501 // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) 1502 // in the Amazon CloudWatch Events User Guide. 1503 Schedule *string 1504 1505 // The description of the scheduled action. 1506 ScheduledActionDescription *string 1507 1508 // The name of the scheduled action. 1509 ScheduledActionName *string 1510 1511 // The start time in UTC when the schedule is active. Before this time, the 1512 // scheduled action does not trigger. 1513 StartTime *time.Time 1514 1515 // The state of the scheduled action. For example, DISABLED. 1516 State ScheduledActionState 1517 1518 // A JSON format string of the Amazon Redshift API operation with input parameters. 1519 // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". 1520 TargetAction *ScheduledActionType 1521 1522 noSmithyDocumentSerde 1523} 1524 1525// A set of elements to filter the returned scheduled actions. 1526type ScheduledActionFilter struct { 1527 1528 // The type of element to filter. 1529 // 1530 // This member is required. 1531 Name ScheduledActionFilterName 1532 1533 // List of values. Compare if the value (of type defined by Name) equals an item in 1534 // the list of scheduled actions. 1535 // 1536 // This member is required. 1537 Values []string 1538 1539 noSmithyDocumentSerde 1540} 1541 1542// The action type that specifies an Amazon Redshift API operation that is 1543// supported by the Amazon Redshift scheduler. 1544type ScheduledActionType struct { 1545 1546 // An action that runs a PauseCluster API operation. 1547 PauseCluster *PauseClusterMessage 1548 1549 // An action that runs a ResizeCluster API operation. 1550 ResizeCluster *ResizeClusterMessage 1551 1552 // An action that runs a ResumeCluster API operation. 1553 ResumeCluster *ResumeClusterMessage 1554 1555 noSmithyDocumentSerde 1556} 1557 1558// Describes a snapshot. 1559type Snapshot struct { 1560 1561 // A list of the Amazon Web Services accounts authorized to restore the snapshot. 1562 // Returns null if no accounts are authorized. Visible only to the snapshot owner. 1563 AccountsWithRestoreAccess []AccountWithRestoreAccess 1564 1565 // The size of the incremental backup. 1566 ActualIncrementalBackupSizeInMegaBytes float64 1567 1568 // The Availability Zone in which the cluster was created. 1569 AvailabilityZone *string 1570 1571 // The number of megabytes that have been transferred to the snapshot backup. 1572 BackupProgressInMegaBytes float64 1573 1574 // The time (UTC) when the cluster was originally created. 1575 ClusterCreateTime *time.Time 1576 1577 // The identifier of the cluster for which the snapshot was taken. 1578 ClusterIdentifier *string 1579 1580 // The version ID of the Amazon Redshift engine that is running on the cluster. 1581 ClusterVersion *string 1582 1583 // The number of megabytes per second being transferred to the snapshot backup. 1584 // Returns 0 for a completed backup. 1585 CurrentBackupRateInMegaBytesPerSecond float64 1586 1587 // The name of the database that was created when the cluster was created. 1588 DBName *string 1589 1590 // The amount of time an in-progress snapshot backup has been running, or the 1591 // amount of time it took a completed backup to finish. 1592 ElapsedTimeInSeconds int64 1593 1594 // If true, the data in the snapshot is encrypted at rest. 1595 Encrypted bool 1596 1597 // A boolean that indicates whether the snapshot data is encrypted using the HSM 1598 // keys of the source cluster. true indicates that the data is encrypted using HSM 1599 // keys. 1600 EncryptedWithHSM bool 1601 1602 // The cluster version of the cluster used to create the snapshot. For example, 1603 // 1.0.15503. 1604 EngineFullVersion *string 1605 1606 // An option that specifies whether to create the cluster with enhanced VPC routing 1607 // enabled. To create a cluster that uses enhanced VPC routing, the cluster must be 1608 // in a VPC. For more information, see Enhanced VPC Routing 1609 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in 1610 // the Amazon Redshift Cluster Management Guide. If this option is true, enhanced 1611 // VPC routing is enabled. Default: false 1612 EnhancedVpcRouting bool 1613 1614 // The estimate of the time remaining before the snapshot backup will complete. 1615 // Returns 0 for a completed backup. 1616 EstimatedSecondsToCompletion int64 1617 1618 // The Key Management Service (KMS) key ID of the encryption key that was used to 1619 // encrypt data in the cluster from which the snapshot was taken. 1620 KmsKeyId *string 1621 1622 // The name of the maintenance track for the snapshot. 1623 MaintenanceTrackName *string 1624 1625 // The number of days until a manual snapshot will pass its retention period. 1626 ManualSnapshotRemainingDays *int32 1627 1628 // The number of days that a manual snapshot is retained. If the value is -1, the 1629 // manual snapshot is retained indefinitely. The value must be either -1 or an 1630 // integer between 1 and 3,653. 1631 ManualSnapshotRetentionPeriod *int32 1632 1633 // The admin user name for the cluster. 1634 MasterUsername *string 1635 1636 // The node type of the nodes in the cluster. 1637 NodeType *string 1638 1639 // The number of nodes in the cluster. 1640 NumberOfNodes int32 1641 1642 // For manual snapshots, the Amazon Web Services account used to create or copy the 1643 // snapshot. For automatic snapshots, the owner of the cluster. The owner can 1644 // perform all snapshot actions, such as sharing a manual snapshot. 1645 OwnerAccount *string 1646 1647 // The port that the cluster is listening on. 1648 Port int32 1649 1650 // The list of node types that this cluster snapshot is able to restore into. 1651 RestorableNodeTypes []string 1652 1653 // The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot 1654 // contains a copy of the cluster data as of this exact time. 1655 SnapshotCreateTime *time.Time 1656 1657 // The snapshot identifier that is provided in the request. 1658 SnapshotIdentifier *string 1659 1660 // A timestamp representing the start of the retention period for the snapshot. 1661 SnapshotRetentionStartTime *time.Time 1662 1663 // The snapshot type. Snapshots created using CreateClusterSnapshot and 1664 // CopyClusterSnapshot are of type "manual". 1665 SnapshotType *string 1666 1667 // The source region from which the snapshot was copied. 1668 SourceRegion *string 1669 1670 // The snapshot status. The value of the status depends on the API operation 1671 // used: 1672 // 1673 // * CreateClusterSnapshot and CopyClusterSnapshot returns status as 1674 // "creating". 1675 // 1676 // * DescribeClusterSnapshots returns status as "creating", 1677 // "available", "final snapshot", or "failed". 1678 // 1679 // * DeleteClusterSnapshot returns 1680 // status as "deleted". 1681 Status *string 1682 1683 // The list of tags for the cluster snapshot. 1684 Tags []Tag 1685 1686 // The size of the complete set of backup data that would be used to restore the 1687 // cluster. 1688 TotalBackupSizeInMegaBytes float64 1689 1690 // The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. 1691 // Otherwise, this field is not in the output. 1692 VpcId *string 1693 1694 noSmithyDocumentSerde 1695} 1696 1697// The snapshot copy grant that grants Amazon Redshift permission to encrypt copied 1698// snapshots with the specified customer master key (CMK) from Amazon Web Services 1699// KMS in the destination region. For more information about managing snapshot copy 1700// grants, go to Amazon Redshift Database Encryption 1701// (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) 1702// in the Amazon Redshift Cluster Management Guide. 1703type SnapshotCopyGrant struct { 1704 1705 // The unique identifier of the customer master key (CMK) in Amazon Web Services 1706 // KMS to which Amazon Redshift is granted permission. 1707 KmsKeyId *string 1708 1709 // The name of the snapshot copy grant. 1710 SnapshotCopyGrantName *string 1711 1712 // A list of tag instances. 1713 Tags []Tag 1714 1715 noSmithyDocumentSerde 1716} 1717 1718// Describes the errors returned by a snapshot. 1719type SnapshotErrorMessage struct { 1720 1721 // The failure code for the error. 1722 FailureCode *string 1723 1724 // The text message describing the error. 1725 FailureReason *string 1726 1727 // A unique identifier for the cluster. 1728 SnapshotClusterIdentifier *string 1729 1730 // A unique identifier for the snapshot returning the error. 1731 SnapshotIdentifier *string 1732 1733 noSmithyDocumentSerde 1734} 1735 1736// Describes a snapshot schedule. You can set a regular interval for creating 1737// snapshots of a cluster. You can also schedule snapshots for specific dates. 1738type SnapshotSchedule struct { 1739 1740 // The number of clusters associated with the schedule. 1741 AssociatedClusterCount *int32 1742 1743 // A list of clusters associated with the schedule. A maximum of 100 clusters is 1744 // returned. 1745 AssociatedClusters []ClusterAssociatedToSchedule 1746 1747 // 1748 NextInvocations []time.Time 1749 1750 // A list of ScheduleDefinitions. 1751 ScheduleDefinitions []string 1752 1753 // The description of the schedule. 1754 ScheduleDescription *string 1755 1756 // A unique identifier for the schedule. 1757 ScheduleIdentifier *string 1758 1759 // An optional set of tags describing the schedule. 1760 Tags []Tag 1761 1762 noSmithyDocumentSerde 1763} 1764 1765// Describes a sorting entity 1766type SnapshotSortingEntity struct { 1767 1768 // The category for sorting the snapshots. 1769 // 1770 // This member is required. 1771 Attribute SnapshotAttributeToSortBy 1772 1773 // The order for listing the attributes. 1774 SortOrder SortByOrder 1775 1776 noSmithyDocumentSerde 1777} 1778 1779// Describes a subnet. 1780type Subnet struct { 1781 1782 // 1783 SubnetAvailabilityZone *AvailabilityZone 1784 1785 // The identifier of the subnet. 1786 SubnetIdentifier *string 1787 1788 // The status of the subnet. 1789 SubnetStatus *string 1790 1791 noSmithyDocumentSerde 1792} 1793 1794// Describes the operations that are allowed on a maintenance track. 1795type SupportedOperation struct { 1796 1797 // A list of the supported operations. 1798 OperationName *string 1799 1800 noSmithyDocumentSerde 1801} 1802 1803// A list of supported platforms for orderable clusters. 1804type SupportedPlatform struct { 1805 1806 // 1807 Name *string 1808 1809 noSmithyDocumentSerde 1810} 1811 1812// Describes the status of a RestoreTableFromClusterSnapshot operation. 1813type TableRestoreStatus struct { 1814 1815 // The identifier of the Amazon Redshift cluster that the table is being restored 1816 // to. 1817 ClusterIdentifier *string 1818 1819 // A description of the status of the table restore request. Status values include 1820 // SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS. 1821 Message *string 1822 1823 // The name of the table to create as a result of the table restore request. 1824 NewTableName *string 1825 1826 // The amount of data restored to the new table so far, in megabytes (MB). 1827 ProgressInMegaBytes *int64 1828 1829 // The time that the table restore request was made, in Universal Coordinated Time 1830 // (UTC). 1831 RequestTime *time.Time 1832 1833 // The identifier of the snapshot that the table is being restored from. 1834 SnapshotIdentifier *string 1835 1836 // The name of the source database that contains the table being restored. 1837 SourceDatabaseName *string 1838 1839 // The name of the source schema that contains the table being restored. 1840 SourceSchemaName *string 1841 1842 // The name of the source table being restored. 1843 SourceTableName *string 1844 1845 // A value that describes the current state of the table restore request. Valid 1846 // Values: SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS 1847 Status TableRestoreStatusType 1848 1849 // The unique identifier for the table restore request. 1850 TableRestoreRequestId *string 1851 1852 // The name of the database to restore the table to. 1853 TargetDatabaseName *string 1854 1855 // The name of the schema to restore the table to. 1856 TargetSchemaName *string 1857 1858 // The total amount of data to restore to the new table, in megabytes (MB). 1859 TotalDataInMegaBytes *int64 1860 1861 noSmithyDocumentSerde 1862} 1863 1864// A tag consisting of a name/value pair for a resource. 1865type Tag struct { 1866 1867 // The key, or name, for the resource tag. 1868 Key *string 1869 1870 // The value for the resource tag. 1871 Value *string 1872 1873 noSmithyDocumentSerde 1874} 1875 1876// A tag and its associated resource. 1877type TaggedResource struct { 1878 1879 // The Amazon Resource Name (ARN) with which the tag is associated, for example: 1880 // arn:aws:redshift:us-east-2:123456789:cluster:t1. 1881 ResourceName *string 1882 1883 // The type of resource with which the tag is associated. Valid resource types 1884 // are: 1885 // 1886 // * Cluster 1887 // 1888 // * CIDR/IP 1889 // 1890 // * EC2 security group 1891 // 1892 // * Snapshot 1893 // 1894 // * Cluster security 1895 // group 1896 // 1897 // * Subnet group 1898 // 1899 // * HSM connection 1900 // 1901 // * HSM certificate 1902 // 1903 // * Parameter 1904 // group 1905 // 1906 // For more information about Amazon Redshift resource types and 1907 // constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name 1908 // (ARN) 1909 // (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-overview.html#redshift-iam-access-control-specify-actions) 1910 // in the Amazon Redshift Cluster Management Guide. 1911 ResourceType *string 1912 1913 // The tag for the resource. 1914 Tag *Tag 1915 1916 noSmithyDocumentSerde 1917} 1918 1919// A maintenance track that you can switch the current track to. 1920type UpdateTarget struct { 1921 1922 // The cluster version for the new maintenance track. 1923 DatabaseVersion *string 1924 1925 // The name of the new maintenance track. 1926 MaintenanceTrackName *string 1927 1928 // A list of operations supported by the maintenance track. 1929 SupportedOperations []SupportedOperation 1930 1931 noSmithyDocumentSerde 1932} 1933 1934// Describes a usage limit object for a cluster. 1935type UsageLimit struct { 1936 1937 // The limit amount. If time-based, this amount is in minutes. If data-based, this 1938 // amount is in terabytes (TB). 1939 Amount int64 1940 1941 // The action that Amazon Redshift takes when the limit is reached. Possible values 1942 // are: 1943 // 1944 // * log - To log an event in a system table. The default is log. 1945 // 1946 // * 1947 // emit-metric - To emit CloudWatch metrics. 1948 // 1949 // * disable - To disable the feature 1950 // until the next usage period begins. 1951 BreachAction UsageLimitBreachAction 1952 1953 // The identifier of the cluster with a usage limit. 1954 ClusterIdentifier *string 1955 1956 // The Amazon Redshift feature to which the limit applies. 1957 FeatureType UsageLimitFeatureType 1958 1959 // The type of limit. Depending on the feature type, this can be based on a time 1960 // duration or data size. 1961 LimitType UsageLimitLimitType 1962 1963 // The time period that the amount applies to. A weekly period begins on Sunday. 1964 // The default is monthly. 1965 Period UsageLimitPeriod 1966 1967 // A list of tag instances. 1968 Tags []Tag 1969 1970 // The identifier of the usage limit. 1971 UsageLimitId *string 1972 1973 noSmithyDocumentSerde 1974} 1975 1976// The connection endpoint for connecting to an Amazon Redshift cluster through the 1977// proxy. 1978type VpcEndpoint struct { 1979 1980 // One or more network interfaces of the endpoint. Also known as an interface 1981 // endpoint. 1982 NetworkInterfaces []NetworkInterface 1983 1984 // The connection endpoint ID for connecting an Amazon Redshift cluster through the 1985 // proxy. 1986 VpcEndpointId *string 1987 1988 // The VPC identifier that the endpoint is associated. 1989 VpcId *string 1990 1991 noSmithyDocumentSerde 1992} 1993 1994// Describes the members of a VPC security group. 1995type VpcSecurityGroupMembership struct { 1996 1997 // The status of the VPC security group. 1998 Status *string 1999 2000 // The identifier of the VPC security group. 2001 VpcSecurityGroupId *string 2002 2003 noSmithyDocumentSerde 2004} 2005 2006type noSmithyDocumentSerde = smithydocument.NoSerde 2007