/*
* 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 rds-2014-10-31.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.RDS.Model
{
///
/// Container for the parameters to the RestoreDBClusterToPointInTime operation.
/// Restores a DB cluster to an arbitrary point in time. Users can restore to any point
/// in time before LatestRestorableTime
for up to BackupRetentionPeriod
/// days. The target DB cluster is created from the source DB cluster with the same configuration
/// as the original DB cluster, except that the new DB cluster is created with the default
/// DB security group.
///
///
///
/// For Aurora, this action only restores the DB cluster, not the DB instances for that
/// DB cluster. You must invoke the CreateDBInstance
action to create DB
/// instances for the restored DB cluster, specifying the identifier of the restored DB
/// cluster in DBClusterIdentifier
. You can create DB instances only after
/// the RestoreDBClusterToPointInTime
action has completed and the DB cluster
/// is available.
///
///
///
/// For more information on Amazon Aurora DB clusters, see
/// What is Amazon Aurora? in the Amazon Aurora User Guide.
///
///
///
/// For more information on Multi-AZ DB clusters, see
/// Multi-AZ DB cluster deployments in the Amazon RDS User Guide.
///
///
public partial class RestoreDBClusterToPointInTimeRequest : AmazonRDSRequest
{
private long? _backtrackWindow;
private bool? _copyTagsToSnapshot;
private string _dbClusterIdentifier;
private string _dbClusterInstanceClass;
private string _dbClusterParameterGroupName;
private string _dbSubnetGroupName;
private bool? _deletionProtection;
private string _domain;
private string _domainIAMRoleName;
private List _enableCloudwatchLogsExports = new List();
private bool? _enableIAMDatabaseAuthentication;
private string _engineMode;
private int? _iops;
private string _kmsKeyId;
private string _networkType;
private string _optionGroupName;
private int? _port;
private bool? _publiclyAccessible;
private DateTime? _restoreToTimeUtc;
private string _restoreType;
private ScalingConfiguration _scalingConfiguration;
private ServerlessV2ScalingConfiguration _serverlessV2ScalingConfiguration;
private string _sourceDBClusterIdentifier;
private string _storageType;
private List _tags = new List();
private bool? _useLatestRestorableTime;
private List _vpcSecurityGroupIds = new List();
///
/// Gets and sets the property BacktrackWindow.
///
/// The target backtrack window, in seconds. To disable backtracking, set this value to
/// 0.
///
///
///
/// Default: 0
///
///
///
/// Constraints:
///
/// -
///
/// If specified, this value must be set to a number from 0 to 259,200 (72 hours).
///
///
///
/// Valid for: Aurora MySQL DB clusters only
///
///
public long BacktrackWindow
{
get { return this._backtrackWindow.GetValueOrDefault(); }
set { this._backtrackWindow = value; }
}
// Check to see if BacktrackWindow property is set
internal bool IsSetBacktrackWindow()
{
return this._backtrackWindow.HasValue;
}
///
/// Gets and sets the property CopyTagsToSnapshot.
///
/// A value that indicates whether to copy all tags from the restored DB cluster to snapshots
/// of the restored DB cluster. The default is not to copy them.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public bool CopyTagsToSnapshot
{
get { return this._copyTagsToSnapshot.GetValueOrDefault(); }
set { this._copyTagsToSnapshot = value; }
}
// Check to see if CopyTagsToSnapshot property is set
internal bool IsSetCopyTagsToSnapshot()
{
return this._copyTagsToSnapshot.HasValue;
}
///
/// Gets and sets the property DBClusterIdentifier.
///
/// The name of the new DB cluster to be created.
///
///
///
/// Constraints:
///
/// -
///
/// Must contain from 1 to 63 letters, numbers, or hyphens
///
///
-
///
/// First character must be a letter
///
///
-
///
/// Can't end with a hyphen or contain two consecutive hyphens
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
[AWSProperty(Required=true)]
public string DBClusterIdentifier
{
get { return this._dbClusterIdentifier; }
set { this._dbClusterIdentifier = value; }
}
// Check to see if DBClusterIdentifier property is set
internal bool IsSetDBClusterIdentifier()
{
return this._dbClusterIdentifier != null;
}
///
/// Gets and sets the property DBClusterInstanceClass.
///
/// The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster,
/// for example db.m6gd.xlarge. Not all DB instance classes are available in all Amazon
/// Web Services Regions, or for all database engines.
///
///
///
/// For the full list of DB instance classes, and availability for your engine, see DB
/// instance class in the Amazon RDS User Guide.
///
///
///
/// Valid for: Multi-AZ DB clusters only
///
///
public string DBClusterInstanceClass
{
get { return this._dbClusterInstanceClass; }
set { this._dbClusterInstanceClass = value; }
}
// Check to see if DBClusterInstanceClass property is set
internal bool IsSetDBClusterInstanceClass()
{
return this._dbClusterInstanceClass != null;
}
///
/// Gets and sets the property DBClusterParameterGroupName.
///
/// The name of the DB cluster parameter group to associate with this DB cluster. If this
/// argument is omitted, the default DB cluster parameter group for the specified engine
/// is used.
///
///
///
/// Constraints:
///
/// -
///
/// If supplied, must match the name of an existing DB cluster parameter group.
///
///
-
///
/// Must be 1 to 255 letters, numbers, or hyphens.
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Can't end with a hyphen or contain two consecutive hyphens.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string DBClusterParameterGroupName
{
get { return this._dbClusterParameterGroupName; }
set { this._dbClusterParameterGroupName = value; }
}
// Check to see if DBClusterParameterGroupName property is set
internal bool IsSetDBClusterParameterGroupName()
{
return this._dbClusterParameterGroupName != null;
}
///
/// Gets and sets the property DBSubnetGroupName.
///
/// The DB subnet group name to use for the new DB cluster.
///
///
///
/// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
///
///
///
/// Example: mydbsubnetgroup
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string DBSubnetGroupName
{
get { return this._dbSubnetGroupName; }
set { this._dbSubnetGroupName = value; }
}
// Check to see if DBSubnetGroupName property is set
internal bool IsSetDBSubnetGroupName()
{
return this._dbSubnetGroupName != null;
}
///
/// Gets and sets the property DeletionProtection.
///
/// A value that indicates whether the DB cluster has deletion protection enabled. The
/// database can't be deleted when deletion protection is enabled. By default, deletion
/// protection isn't enabled.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public bool DeletionProtection
{
get { return this._deletionProtection.GetValueOrDefault(); }
set { this._deletionProtection = value; }
}
// Check to see if DeletionProtection property is set
internal bool IsSetDeletionProtection()
{
return this._deletionProtection.HasValue;
}
///
/// Gets and sets the property Domain.
///
/// Specify the Active Directory directory ID to restore the DB cluster in. The domain
/// must be created prior to this operation.
///
///
///
/// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate
/// users that connect to the DB cluster. For more information, see Kerberos
/// Authentication in the Amazon Aurora User Guide.
///
///
///
/// Valid for: Aurora DB clusters only
///
///
public string Domain
{
get { return this._domain; }
set { this._domain = value; }
}
// Check to see if Domain property is set
internal bool IsSetDomain()
{
return this._domain != null;
}
///
/// Gets and sets the property DomainIAMRoleName.
///
/// Specify the name of the IAM role to be used when making API calls to the Directory
/// Service.
///
///
///
/// Valid for: Aurora DB clusters only
///
///
public string DomainIAMRoleName
{
get { return this._domainIAMRoleName; }
set { this._domainIAMRoleName = value; }
}
// Check to see if DomainIAMRoleName property is set
internal bool IsSetDomainIAMRoleName()
{
return this._domainIAMRoleName != null;
}
///
/// Gets and sets the property EnableCloudwatchLogsExports.
///
/// The list of logs that the restored DB cluster is to export to CloudWatch Logs. The
/// values in the list depend on the DB engine being used.
///
///
///
/// RDS for MySQL
///
///
///
/// Possible values are error
, general
, and slowquery
.
///
///
///
/// RDS for PostgreSQL
///
///
///
/// Possible values are postgresql
and upgrade
.
///
///
///
/// Aurora MySQL
///
///
///
/// Possible values are audit
, error
, general
,
/// and slowquery
.
///
///
///
/// Aurora PostgreSQL
///
///
///
/// Possible value is postgresql
.
///
///
///
/// For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing
/// Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
///
///
///
/// For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing
/// Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public List EnableCloudwatchLogsExports
{
get { return this._enableCloudwatchLogsExports; }
set { this._enableCloudwatchLogsExports = value; }
}
// Check to see if EnableCloudwatchLogsExports property is set
internal bool IsSetEnableCloudwatchLogsExports()
{
return this._enableCloudwatchLogsExports != null && this._enableCloudwatchLogsExports.Count > 0;
}
///
/// Gets and sets the property EnableIAMDatabaseAuthentication.
///
/// A value that indicates whether to enable mapping of Amazon Web Services Identity and
/// Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.
///
///
///
/// For more information, see
/// IAM Database Authentication in the Amazon Aurora User Guide.
///
///
///
/// Valid for: Aurora DB clusters only
///
///
public bool EnableIAMDatabaseAuthentication
{
get { return this._enableIAMDatabaseAuthentication.GetValueOrDefault(); }
set { this._enableIAMDatabaseAuthentication = value; }
}
// Check to see if EnableIAMDatabaseAuthentication property is set
internal bool IsSetEnableIAMDatabaseAuthentication()
{
return this._enableIAMDatabaseAuthentication.HasValue;
}
///
/// Gets and sets the property EngineMode.
///
/// The engine mode of the new cluster. Specify provisioned
or serverless
,
/// depending on the type of the cluster you are creating. You can create an Aurora Serverless
/// v1 clone from a provisioned cluster, or a provisioned clone from an Aurora Serverless
/// v1 cluster. To create a clone that is an Aurora Serverless v1 cluster, the original
/// cluster must be an Aurora Serverless v1 cluster or an encrypted provisioned cluster.
///
///
///
/// Valid for: Aurora DB clusters only
///
///
public string EngineMode
{
get { return this._engineMode; }
set { this._engineMode = value; }
}
// Check to see if EngineMode property is set
internal bool IsSetEngineMode()
{
return this._engineMode != null;
}
///
/// Gets and sets the property Iops.
///
/// The amount of Provisioned IOPS (input/output operations per second) to be initially
/// allocated for each DB instance in the Multi-AZ DB cluster.
///
///
///
/// For information about valid IOPS values, see Amazon
/// RDS Provisioned IOPS storage in the Amazon RDS User Guide.
///
///
///
/// Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB
/// instance.
///
///
///
/// Valid for: Multi-AZ DB clusters only
///
///
public int Iops
{
get { return this._iops.GetValueOrDefault(); }
set { this._iops = value; }
}
// Check to see if Iops property is set
internal bool IsSetIops()
{
return this._iops.HasValue;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster
/// from an encrypted DB cluster.
///
///
///
/// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key. To use a KMS key in a different Amazon Web Services account,
/// specify the key ARN or alias ARN.
///
///
///
/// You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key
/// that is different from the KMS key used to encrypt the source DB cluster. The new
/// DB cluster is encrypted with the KMS key identified by the KmsKeyId
parameter.
///
///
///
/// If you don't specify a value for the KmsKeyId
parameter, then the following
/// occurs:
///
/// -
///
/// If the DB cluster is encrypted, then the restored DB cluster is encrypted using the
/// KMS key that was used to encrypt the source DB cluster.
///
///
-
///
/// If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.
///
///
///
/// If DBClusterIdentifier
refers to a DB cluster that isn't encrypted, then
/// the restore request is rejected.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
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 NetworkType.
///
/// The network type of the DB cluster.
///
///
///
/// Valid values:
///
/// -
///
///
IPV4
///
/// -
///
///
DUAL
///
///
///
/// The network type is determined by the DBSubnetGroup
specified for the
/// DB cluster. A DBSubnetGroup
can support only the IPv4 protocol or the
/// IPv4 and the IPv6 protocols (DUAL
).
///
///
///
/// For more information, see
/// Working with a DB instance in a VPC in the Amazon Aurora User Guide.
///
///
///
/// Valid for: Aurora DB clusters only
///
///
public string NetworkType
{
get { return this._networkType; }
set { this._networkType = value; }
}
// Check to see if NetworkType property is set
internal bool IsSetNetworkType()
{
return this._networkType != null;
}
///
/// Gets and sets the property OptionGroupName.
///
/// The name of the option group for the new DB cluster.
///
///
///
/// DB clusters are associated with a default option group that can't be modified.
///
///
public string OptionGroupName
{
get { return this._optionGroupName; }
set { this._optionGroupName = value; }
}
// Check to see if OptionGroupName property is set
internal bool IsSetOptionGroupName()
{
return this._optionGroupName != null;
}
///
/// Gets and sets the property Port.
///
/// The port number on which the new DB cluster accepts connections.
///
///
///
/// Constraints: A value from 1150-65535
.
///
///
///
/// Default: The default port for the engine.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public int Port
{
get { return this._port.GetValueOrDefault(); }
set { this._port = value; }
}
// Check to see if Port property is set
internal bool IsSetPort()
{
return this._port.HasValue;
}
///
/// Gets and sets the property PubliclyAccessible.
///
/// A value that indicates whether the DB cluster is publicly accessible.
///
///
///
/// When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint
/// resolves to the private IP address from within the DB cluster's virtual private cloud
/// (VPC). It resolves to the public IP address from outside of the DB cluster's VPC.
/// Access to the DB cluster is ultimately controlled by the security group it uses. That
/// public access is not permitted if the security group assigned to the DB cluster doesn't
/// permit it.
///
///
///
/// When the DB cluster isn't publicly accessible, it is an internal DB cluster with a
/// DNS name that resolves to a private IP address.
///
///
///
/// Default: The default behavior varies depending on whether DBSubnetGroupName
/// is specified.
///
///
///
/// If DBSubnetGroupName
isn't specified, and PubliclyAccessible
/// isn't specified, the following applies:
///
/// -
///
/// If the default VPC in the target Region doesn’t have an internet gateway attached
/// to it, the DB cluster is private.
///
///
-
///
/// If the default VPC in the target Region has an internet gateway attached to it, the
/// DB cluster is public.
///
///
///
/// If DBSubnetGroupName
is specified, and PubliclyAccessible
/// isn't specified, the following applies:
///
/// -
///
/// If the subnets are part of a VPC that doesn’t have an internet gateway attached to
/// it, the DB cluster is private.
///
///
-
///
/// If the subnets are part of a VPC that has an internet gateway attached to it, the
/// DB cluster is public.
///
///
///
/// Valid for: Multi-AZ DB clusters only
///
///
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 RestoreToTimeUtc.
///
/// The date and time to restore the DB cluster to.
///
///
///
/// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
///
///
///
/// Constraints:
///
/// -
///
/// Must be before the latest restorable time for the DB instance
///
///
-
///
/// Must be specified if
UseLatestRestorableTime
parameter isn't provided
///
/// -
///
/// Can't be specified if the
UseLatestRestorableTime
parameter is enabled
///
/// -
///
/// Can't be specified if the
RestoreType
parameter is copy-on-write
///
///
///
///
/// Example: 2015-03-07T23:45:00Z
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public DateTime RestoreToTimeUtc
{
get { return this._restoreToTimeUtc.GetValueOrDefault(); }
set { this._restoreToTime = this._restoreToTimeUtc = value; }
}
// Check to see if RestoreToTimeUtc property is set
internal bool IsSetRestoreToTimeUtc()
{
return this._restoreToTimeUtc.HasValue;
}
///
/// Gets and sets the property RestoreType.
///
/// The type of restore to be performed. You can specify one of the following values:
///
/// -
///
///
full-copy
- The new DB cluster is restored as a full copy of the source
/// DB cluster.
///
/// -
///
///
copy-on-write
- The new DB cluster is restored as a clone of the source
/// DB cluster.
///
///
///
/// If you don't specify a RestoreType
value, then the new DB cluster is
/// restored as a full copy of the source DB cluster.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string RestoreType
{
get { return this._restoreType; }
set { this._restoreType = value; }
}
// Check to see if RestoreType property is set
internal bool IsSetRestoreType()
{
return this._restoreType != null;
}
///
/// Gets and sets the property ScalingConfiguration.
///
/// For DB clusters in serverless
DB engine mode, the scaling properties
/// of the DB cluster.
///
///
///
/// Valid for: Aurora DB clusters only
///
///
public ScalingConfiguration ScalingConfiguration
{
get { return this._scalingConfiguration; }
set { this._scalingConfiguration = value; }
}
// Check to see if ScalingConfiguration property is set
internal bool IsSetScalingConfiguration()
{
return this._scalingConfiguration != null;
}
///
/// Gets and sets the property ServerlessV2ScalingConfiguration.
///
public ServerlessV2ScalingConfiguration ServerlessV2ScalingConfiguration
{
get { return this._serverlessV2ScalingConfiguration; }
set { this._serverlessV2ScalingConfiguration = value; }
}
// Check to see if ServerlessV2ScalingConfiguration property is set
internal bool IsSetServerlessV2ScalingConfiguration()
{
return this._serverlessV2ScalingConfiguration != null;
}
///
/// Gets and sets the property SourceDBClusterIdentifier.
///
/// The identifier of the source DB cluster from which to restore.
///
///
///
/// Constraints:
///
/// -
///
/// Must match the identifier of an existing DBCluster.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
[AWSProperty(Required=true)]
public string SourceDBClusterIdentifier
{
get { return this._sourceDBClusterIdentifier; }
set { this._sourceDBClusterIdentifier = value; }
}
// Check to see if SourceDBClusterIdentifier property is set
internal bool IsSetSourceDBClusterIdentifier()
{
return this._sourceDBClusterIdentifier != null;
}
///
/// Gets and sets the property StorageType.
///
/// Specifies the storage type to be associated with the DB cluster.
///
///
///
/// When specified for a Multi-AZ DB cluster, a value for the Iops
parameter
/// is required.
///
///
///
/// Valid values: aurora
, aurora-iopt1
(Aurora DB clusters);
/// io1
(Multi-AZ DB clusters)
///
///
///
/// Default: aurora
(Aurora DB clusters); io1
(Multi-AZ DB clusters)
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string StorageType
{
get { return this._storageType; }
set { this._storageType = value; }
}
// Check to see if StorageType property is set
internal bool IsSetStorageType()
{
return this._storageType != null;
}
///
/// Gets and sets the property Tags.
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property UseLatestRestorableTime.
///
/// A value that indicates whether to restore the DB cluster to the latest restorable
/// backup time. By default, the DB cluster isn't restored to the latest restorable backup
/// time.
///
///
///
/// Constraints: Can't be specified if RestoreToTime
parameter is provided.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public bool UseLatestRestorableTime
{
get { return this._useLatestRestorableTime.GetValueOrDefault(); }
set { this._useLatestRestorableTime = value; }
}
// Check to see if UseLatestRestorableTime property is set
internal bool IsSetUseLatestRestorableTime()
{
return this._useLatestRestorableTime.HasValue;
}
///
/// Gets and sets the property VpcSecurityGroupIds.
///
/// A list of VPC security groups that the new DB cluster belongs to.
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
public List VpcSecurityGroupIds
{
get { return this._vpcSecurityGroupIds; }
set { this._vpcSecurityGroupIds = value; }
}
// Check to see if VpcSecurityGroupIds property is set
internal bool IsSetVpcSecurityGroupIds()
{
return this._vpcSecurityGroupIds != null && this._vpcSecurityGroupIds.Count > 0;
}
#region Backwards compatible properties
private DateTime? _restoreToTime;
///
/// Gets and sets the property RestoreToTimeUtc.
///
/// This property is deprecated. Setting this property results in non-UTC DateTimes not
/// being marshalled correctly. Use RestoreToTimeUtc instead. Setting either RestoreToTime
/// or RestoreToTimeUtc results in both RestoreToTime and RestoreToTimeUtc being assigned,
/// the latest assignment to either one of the two property is reflected in the value
/// of both. RestoreToTime is provided for backwards compatibility only and assigning
/// a non-Utc DateTime to it results in the wrong timestamp being passed to the service.
///
///
///
/// The date and time to restore the DB cluster to.
///
///
///
/// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
///
///
///
/// Constraints:
///
/// -
///
/// Must be before the latest restorable time for the DB instance
///
///
-
///
/// Must be specified if
UseLatestRestorableTime
parameter isn't provided
///
/// -
///
/// Can't be specified if the
UseLatestRestorableTime
parameter is enabled
///
/// -
///
/// Can't be specified if the
RestoreType
parameter is copy-on-write
///
///
///
///
/// Example: 2015-03-07T23:45:00Z
///
///
///
/// Valid for: Aurora DB clusters and Multi-AZ DB clusters
///
///
[Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " +
"Use RestoreToTimeUtc instead. Setting either RestoreToTime or RestoreToTimeUtc results in both RestoreToTime and " +
"RestoreToTimeUtc being assigned, the latest assignment to either one of the two property is " +
"reflected in the value of both. RestoreToTime is provided for backwards compatibility only and " +
"assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)]
public DateTime RestoreToTime
{
get { return this._restoreToTime.GetValueOrDefault(); }
set
{
this._restoreToTime = value;
this._restoreToTimeUtc = new DateTime(value.Ticks, DateTimeKind.Utc);
}
}
#endregion
}
}