/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the securityhub-2018-10-26.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SecurityHub.Model { /// /// Details about an Amazon Redshift cluster. /// public partial class AwsRedshiftClusterDetails { private bool? _allowVersionUpgrade; private int? _automatedSnapshotRetentionPeriod; private string _availabilityZone; private string _clusterAvailabilityStatus; private string _clusterCreateTime; private string _clusterIdentifier; private List _clusterNodes = new List(); private List _clusterParameterGroups = new List(); private string _clusterPublicKey; private string _clusterRevisionNumber; private List _clusterSecurityGroups = new List(); private AwsRedshiftClusterClusterSnapshotCopyStatus _clusterSnapshotCopyStatus; private string _clusterStatus; private string _clusterSubnetGroupName; private string _clusterVersion; private string _dbName; private List _deferredMaintenanceWindows = new List(); private AwsRedshiftClusterElasticIpStatus _elasticIpStatus; private string _elasticResizeNumberOfNodeOptions; private bool? _encrypted; private AwsRedshiftClusterEndpoint _endpoint; private bool? _enhancedVpcRouting; private string _expectedNextSnapshotScheduleTime; private string _expectedNextSnapshotScheduleTimeStatus; private AwsRedshiftClusterHsmStatus _hsmStatus; private List _iamRoles = new List(); private string _kmsKeyId; private AwsRedshiftClusterLoggingStatus _loggingStatus; private string _maintenanceTrackName; private int? _manualSnapshotRetentionPeriod; private string _masterUsername; private string _nextMaintenanceWindowStartTime; private string _nodeType; private int? _numberOfNodes; private List _pendingActions = new List(); private AwsRedshiftClusterPendingModifiedValues _pendingModifiedValues; private string _preferredMaintenanceWindow; private bool? _publiclyAccessible; private AwsRedshiftClusterResizeInfo _resizeInfo; private AwsRedshiftClusterRestoreStatus _restoreStatus; private string _snapshotScheduleIdentifier; private string _snapshotScheduleState; private string _vpcId; private List _vpcSecurityGroups = new List(); /// /// Gets and sets the property AllowVersionUpgrade. /// /// Indicates whether major version upgrades are applied automatically to the cluster /// during the maintenance window. /// /// public bool AllowVersionUpgrade { get { return this._allowVersionUpgrade.GetValueOrDefault(); } set { this._allowVersionUpgrade = value; } } // Check to see if AllowVersionUpgrade property is set internal bool IsSetAllowVersionUpgrade() { return this._allowVersionUpgrade.HasValue; } /// /// Gets and sets the property AutomatedSnapshotRetentionPeriod. /// /// The number of days that automatic cluster snapshots are retained. /// /// public int AutomatedSnapshotRetentionPeriod { get { return this._automatedSnapshotRetentionPeriod.GetValueOrDefault(); } set { this._automatedSnapshotRetentionPeriod = value; } } // Check to see if AutomatedSnapshotRetentionPeriod property is set internal bool IsSetAutomatedSnapshotRetentionPeriod() { return this._automatedSnapshotRetentionPeriod.HasValue; } /// /// Gets and sets the property AvailabilityZone. /// /// The name of the Availability Zone in which the cluster is located. /// /// public string AvailabilityZone { get { return this._availabilityZone; } set { this._availabilityZone = value; } } // Check to see if AvailabilityZone property is set internal bool IsSetAvailabilityZone() { return this._availabilityZone != null; } /// /// Gets and sets the property ClusterAvailabilityStatus. /// /// The availability status of the cluster for queries. Possible values are the following: /// ///
  • /// /// Available - The cluster is available for queries. /// ///
  • /// /// Unavailable - The cluster is not available for queries. /// ///
  • /// /// Maintenance - The cluster is intermittently available for queries due /// to maintenance activities. /// ///
  • /// /// Modifying -The cluster is intermittently available for queries due to /// changes that modify the cluster. /// ///
  • /// /// Failed - The cluster failed and is not available for queries. /// ///
///
public string ClusterAvailabilityStatus { get { return this._clusterAvailabilityStatus; } set { this._clusterAvailabilityStatus = value; } } // Check to see if ClusterAvailabilityStatus property is set internal bool IsSetClusterAvailabilityStatus() { return this._clusterAvailabilityStatus != null; } /// /// Gets and sets the property ClusterCreateTime. /// /// Indicates when the cluster was created. /// /// /// /// Uses the date-time format specified in RFC /// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, /// and date and time should be separated by T. For example, 2020-03-22T13:22:13.933Z. /// /// public string ClusterCreateTime { get { return this._clusterCreateTime; } set { this._clusterCreateTime = value; } } // Check to see if ClusterCreateTime property is set internal bool IsSetClusterCreateTime() { return this._clusterCreateTime != null; } /// /// Gets and sets the property ClusterIdentifier. /// /// The unique identifier of the cluster. /// /// public string ClusterIdentifier { get { return this._clusterIdentifier; } set { this._clusterIdentifier = value; } } // Check to see if ClusterIdentifier property is set internal bool IsSetClusterIdentifier() { return this._clusterIdentifier != null; } /// /// Gets and sets the property ClusterNodes. /// /// The nodes in the cluster. /// /// public List ClusterNodes { get { return this._clusterNodes; } set { this._clusterNodes = value; } } // Check to see if ClusterNodes property is set internal bool IsSetClusterNodes() { return this._clusterNodes != null && this._clusterNodes.Count > 0; } /// /// Gets and sets the property ClusterParameterGroups. /// /// The list of cluster parameter groups that are associated with this cluster. /// /// public List ClusterParameterGroups { get { return this._clusterParameterGroups; } set { this._clusterParameterGroups = value; } } // Check to see if ClusterParameterGroups property is set internal bool IsSetClusterParameterGroups() { return this._clusterParameterGroups != null && this._clusterParameterGroups.Count > 0; } /// /// Gets and sets the property ClusterPublicKey. /// /// The public key for the cluster. /// /// public string ClusterPublicKey { get { return this._clusterPublicKey; } set { this._clusterPublicKey = value; } } // Check to see if ClusterPublicKey property is set internal bool IsSetClusterPublicKey() { return this._clusterPublicKey != null; } /// /// Gets and sets the property ClusterRevisionNumber. /// /// The specific revision number of the database in the cluster. /// /// public string ClusterRevisionNumber { get { return this._clusterRevisionNumber; } set { this._clusterRevisionNumber = value; } } // Check to see if ClusterRevisionNumber property is set internal bool IsSetClusterRevisionNumber() { return this._clusterRevisionNumber != null; } /// /// Gets and sets the property ClusterSecurityGroups. /// /// A list of cluster security groups that are associated with the cluster. /// /// public List ClusterSecurityGroups { get { return this._clusterSecurityGroups; } set { this._clusterSecurityGroups = value; } } // Check to see if ClusterSecurityGroups property is set internal bool IsSetClusterSecurityGroups() { return this._clusterSecurityGroups != null && this._clusterSecurityGroups.Count > 0; } /// /// Gets and sets the property ClusterSnapshotCopyStatus. /// /// Information about the destination Region and retention period for the cross-Region /// snapshot copy. /// /// public AwsRedshiftClusterClusterSnapshotCopyStatus ClusterSnapshotCopyStatus { get { return this._clusterSnapshotCopyStatus; } set { this._clusterSnapshotCopyStatus = value; } } // Check to see if ClusterSnapshotCopyStatus property is set internal bool IsSetClusterSnapshotCopyStatus() { return this._clusterSnapshotCopyStatus != null; } /// /// Gets and sets the property ClusterStatus. /// /// The current status of the cluster. /// /// /// /// Valid values: available | available, prep-for-resize | available, /// resize-cleanup | cancelling-resize | creating | deleting /// | final-snapshot | hardware-failure | incompatible-hsm /// | incompatible-network | incompatible-parameters | incompatible-restore /// | modifying | paused | rebooting | renaming /// | resizing | rotating-keys | storage-full | /// updating-hsm /// /// public string ClusterStatus { get { return this._clusterStatus; } set { this._clusterStatus = value; } } // Check to see if ClusterStatus property is set internal bool IsSetClusterStatus() { return this._clusterStatus != null; } /// /// Gets and sets the property ClusterSubnetGroupName. /// /// The name of the subnet group that is associated with the cluster. This parameter is /// valid only when the cluster is in a VPC. /// /// public string ClusterSubnetGroupName { get { return this._clusterSubnetGroupName; } set { this._clusterSubnetGroupName = value; } } // Check to see if ClusterSubnetGroupName property is set internal bool IsSetClusterSubnetGroupName() { return this._clusterSubnetGroupName != null; } /// /// Gets and sets the property ClusterVersion. /// /// The version ID of the Amazon Redshift engine that runs on the cluster. /// /// public string ClusterVersion { get { return this._clusterVersion; } set { this._clusterVersion = value; } } // Check to see if ClusterVersion property is set internal bool IsSetClusterVersion() { return this._clusterVersion != null; } /// /// Gets and sets the property DBName. /// /// The name of the initial database that was created when the cluster was created. /// /// /// /// The same name is returned for the life of the cluster. /// /// /// /// If an initial database is not specified, a database named devdev is created /// by default. /// /// public string DBName { get { return this._dbName; } set { this._dbName = value; } } // Check to see if DBName property is set internal bool IsSetDBName() { return this._dbName != null; } /// /// Gets and sets the property DeferredMaintenanceWindows. /// /// List of time windows during which maintenance was deferred. /// /// public List DeferredMaintenanceWindows { get { return this._deferredMaintenanceWindows; } set { this._deferredMaintenanceWindows = value; } } // Check to see if DeferredMaintenanceWindows property is set internal bool IsSetDeferredMaintenanceWindows() { return this._deferredMaintenanceWindows != null && this._deferredMaintenanceWindows.Count > 0; } /// /// Gets and sets the property ElasticIpStatus. /// /// Information about the status of the Elastic IP (EIP) address. /// /// public AwsRedshiftClusterElasticIpStatus ElasticIpStatus { get { return this._elasticIpStatus; } set { this._elasticIpStatus = value; } } // Check to see if ElasticIpStatus property is set internal bool IsSetElasticIpStatus() { return this._elasticIpStatus != null; } /// /// Gets and sets the property ElasticResizeNumberOfNodeOptions. /// /// The number of nodes that you can use the elastic resize method to resize the cluster /// to. /// /// public string ElasticResizeNumberOfNodeOptions { get { return this._elasticResizeNumberOfNodeOptions; } set { this._elasticResizeNumberOfNodeOptions = value; } } // Check to see if ElasticResizeNumberOfNodeOptions property is set internal bool IsSetElasticResizeNumberOfNodeOptions() { return this._elasticResizeNumberOfNodeOptions != null; } /// /// Gets and sets the property Encrypted. /// /// Indicates whether the data in the cluster is encrypted at rest. /// /// public bool Encrypted { get { return this._encrypted.GetValueOrDefault(); } set { this._encrypted = value; } } // Check to see if Encrypted property is set internal bool IsSetEncrypted() { return this._encrypted.HasValue; } /// /// Gets and sets the property Endpoint. /// /// The connection endpoint. /// /// public AwsRedshiftClusterEndpoint Endpoint { get { return this._endpoint; } set { this._endpoint = value; } } // Check to see if Endpoint property is set internal bool IsSetEndpoint() { return this._endpoint != null; } /// /// Gets and sets the property EnhancedVpcRouting. /// /// Indicates whether to create the cluster with enhanced VPC routing enabled. /// /// public bool EnhancedVpcRouting { get { return this._enhancedVpcRouting.GetValueOrDefault(); } set { this._enhancedVpcRouting = value; } } // Check to see if EnhancedVpcRouting property is set internal bool IsSetEnhancedVpcRouting() { return this._enhancedVpcRouting.HasValue; } /// /// Gets and sets the property ExpectedNextSnapshotScheduleTime. /// /// Indicates when the next snapshot is expected to be taken. The cluster must have a /// valid snapshot schedule and have backups enabled. /// /// /// /// Uses the date-time format specified in RFC /// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, /// and date and time should be separated by T. For example, 2020-03-22T13:22:13.933Z. /// /// public string ExpectedNextSnapshotScheduleTime { get { return this._expectedNextSnapshotScheduleTime; } set { this._expectedNextSnapshotScheduleTime = value; } } // Check to see if ExpectedNextSnapshotScheduleTime property is set internal bool IsSetExpectedNextSnapshotScheduleTime() { return this._expectedNextSnapshotScheduleTime != null; } /// /// Gets and sets the property ExpectedNextSnapshotScheduleTimeStatus. /// /// The status of the next expected snapshot. /// /// /// /// Valid values: OnTrack | Pending /// /// public string ExpectedNextSnapshotScheduleTimeStatus { get { return this._expectedNextSnapshotScheduleTimeStatus; } set { this._expectedNextSnapshotScheduleTimeStatus = value; } } // Check to see if ExpectedNextSnapshotScheduleTimeStatus property is set internal bool IsSetExpectedNextSnapshotScheduleTimeStatus() { return this._expectedNextSnapshotScheduleTimeStatus != null; } /// /// Gets and sets the property HsmStatus. /// /// Information about whether the Amazon Redshift cluster finished applying any changes /// to hardware security module (HSM) settings that were specified in a modify cluster /// command. /// /// public AwsRedshiftClusterHsmStatus HsmStatus { get { return this._hsmStatus; } set { this._hsmStatus = value; } } // Check to see if HsmStatus property is set internal bool IsSetHsmStatus() { return this._hsmStatus != null; } /// /// Gets and sets the property IamRoles. /// /// A list of IAM roles that the cluster can use to access other Amazon Web Services services. /// /// public List IamRoles { get { return this._iamRoles; } set { this._iamRoles = value; } } // Check to see if IamRoles property is set internal bool IsSetIamRoles() { return this._iamRoles != null && this._iamRoles.Count > 0; } /// /// Gets and sets the property KmsKeyId. /// /// The identifier of the KMS encryption key that is used to encrypt data in the cluster. /// /// public string KmsKeyId { get { return this._kmsKeyId; } set { this._kmsKeyId = value; } } // Check to see if KmsKeyId property is set internal bool IsSetKmsKeyId() { return this._kmsKeyId != null; } /// /// Gets and sets the property LoggingStatus. /// /// Information about the logging status of the cluster. /// /// public AwsRedshiftClusterLoggingStatus LoggingStatus { get { return this._loggingStatus; } set { this._loggingStatus = value; } } // Check to see if LoggingStatus property is set internal bool IsSetLoggingStatus() { return this._loggingStatus != null; } /// /// Gets and sets the property MaintenanceTrackName. /// /// The name of the maintenance track for the cluster. /// /// public string MaintenanceTrackName { get { return this._maintenanceTrackName; } set { this._maintenanceTrackName = value; } } // Check to see if MaintenanceTrackName property is set internal bool IsSetMaintenanceTrackName() { return this._maintenanceTrackName != null; } /// /// Gets and sets the property ManualSnapshotRetentionPeriod. /// /// The default number of days to retain a manual snapshot. /// /// /// /// If the value is -1, the snapshot is retained indefinitely. /// /// /// /// This setting doesn't change the retention period of existing snapshots. /// /// /// /// Valid values: Either -1 or an integer between 1 and 3,653 /// /// public int ManualSnapshotRetentionPeriod { get { return this._manualSnapshotRetentionPeriod.GetValueOrDefault(); } set { this._manualSnapshotRetentionPeriod = value; } } // Check to see if ManualSnapshotRetentionPeriod property is set internal bool IsSetManualSnapshotRetentionPeriod() { return this._manualSnapshotRetentionPeriod.HasValue; } /// /// Gets and sets the property MasterUsername. /// /// The master user name for the cluster. This name is used to connect to the database /// that is specified in as the value of DBName. /// /// public string MasterUsername { get { return this._masterUsername; } set { this._masterUsername = value; } } // Check to see if MasterUsername property is set internal bool IsSetMasterUsername() { return this._masterUsername != null; } /// /// Gets and sets the property NextMaintenanceWindowStartTime. /// /// Indicates the start of the next maintenance window. /// /// /// /// Uses the date-time format specified in RFC /// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces, /// and date and time should be separated by T. For example, 2020-03-22T13:22:13.933Z. /// /// public string NextMaintenanceWindowStartTime { get { return this._nextMaintenanceWindowStartTime; } set { this._nextMaintenanceWindowStartTime = value; } } // Check to see if NextMaintenanceWindowStartTime property is set internal bool IsSetNextMaintenanceWindowStartTime() { return this._nextMaintenanceWindowStartTime != null; } /// /// Gets and sets the property NodeType. /// /// The node type for the nodes in the cluster. /// /// public string NodeType { get { return this._nodeType; } set { this._nodeType = value; } } // Check to see if NodeType property is set internal bool IsSetNodeType() { return this._nodeType != null; } /// /// Gets and sets the property NumberOfNodes. /// /// The number of compute nodes in the cluster. /// /// public int NumberOfNodes { get { return this._numberOfNodes.GetValueOrDefault(); } set { this._numberOfNodes = value; } } // Check to see if NumberOfNodes property is set internal bool IsSetNumberOfNodes() { return this._numberOfNodes.HasValue; } /// /// Gets and sets the property PendingActions. /// /// A list of cluster operations that are waiting to start. /// /// public List PendingActions { get { return this._pendingActions; } set { this._pendingActions = value; } } // Check to see if PendingActions property is set internal bool IsSetPendingActions() { return this._pendingActions != null && this._pendingActions.Count > 0; } /// /// Gets and sets the property PendingModifiedValues. /// /// A list of changes to the cluster that are currently pending. /// /// public AwsRedshiftClusterPendingModifiedValues PendingModifiedValues { get { return this._pendingModifiedValues; } set { this._pendingModifiedValues = value; } } // Check to see if PendingModifiedValues property is set internal bool IsSetPendingModifiedValues() { return this._pendingModifiedValues != null; } /// /// Gets and sets the property PreferredMaintenanceWindow. /// /// The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance /// can occur. /// /// /// /// Format: <day>:HH:MM-<day>:HH:MM /// /// /// /// For the day values, use mon | tue | wed | thu /// | fri | sat | sun /// /// /// /// For example, sun:09:32-sun:10:02 /// /// public string PreferredMaintenanceWindow { get { return this._preferredMaintenanceWindow; } set { this._preferredMaintenanceWindow = value; } } // Check to see if PreferredMaintenanceWindow property is set internal bool IsSetPreferredMaintenanceWindow() { return this._preferredMaintenanceWindow != null; } /// /// Gets and sets the property PubliclyAccessible. /// /// Whether the cluster can be accessed from a public network. /// /// public bool PubliclyAccessible { get { return this._publiclyAccessible.GetValueOrDefault(); } set { this._publiclyAccessible = value; } } // Check to see if PubliclyAccessible property is set internal bool IsSetPubliclyAccessible() { return this._publiclyAccessible.HasValue; } /// /// Gets and sets the property ResizeInfo. /// /// Information about the resize operation for the cluster. /// /// public AwsRedshiftClusterResizeInfo ResizeInfo { get { return this._resizeInfo; } set { this._resizeInfo = value; } } // Check to see if ResizeInfo property is set internal bool IsSetResizeInfo() { return this._resizeInfo != null; } /// /// Gets and sets the property RestoreStatus. /// /// Information about the status of a cluster restore action. Only applies to a cluster /// that was created by restoring a snapshot. /// /// public AwsRedshiftClusterRestoreStatus RestoreStatus { get { return this._restoreStatus; } set { this._restoreStatus = value; } } // Check to see if RestoreStatus property is set internal bool IsSetRestoreStatus() { return this._restoreStatus != null; } /// /// Gets and sets the property SnapshotScheduleIdentifier. /// /// A unique identifier for the cluster snapshot schedule. /// /// public string SnapshotScheduleIdentifier { get { return this._snapshotScheduleIdentifier; } set { this._snapshotScheduleIdentifier = value; } } // Check to see if SnapshotScheduleIdentifier property is set internal bool IsSetSnapshotScheduleIdentifier() { return this._snapshotScheduleIdentifier != null; } /// /// Gets and sets the property SnapshotScheduleState. /// /// The current state of the cluster snapshot schedule. /// /// /// /// Valid values: MODIFYING | ACTIVE | FAILED /// /// public string SnapshotScheduleState { get { return this._snapshotScheduleState; } set { this._snapshotScheduleState = value; } } // Check to see if SnapshotScheduleState property is set internal bool IsSetSnapshotScheduleState() { return this._snapshotScheduleState != null; } /// /// Gets and sets the property VpcId. /// /// The identifier of the VPC that the cluster is in, if the cluster is in a VPC. /// /// public string VpcId { get { return this._vpcId; } set { this._vpcId = value; } } // Check to see if VpcId property is set internal bool IsSetVpcId() { return this._vpcId != null; } /// /// Gets and sets the property VpcSecurityGroups. /// /// The list of VPC security groups that the cluster belongs to, if the cluster is in /// a VPC. /// /// public List VpcSecurityGroups { get { return this._vpcSecurityGroups; } set { this._vpcSecurityGroups = value; } } // Check to see if VpcSecurityGroups property is set internal bool IsSetVpcSecurityGroups() { return this._vpcSecurityGroups != null && this._vpcSecurityGroups.Count > 0; } } }