text:
#pragma once
#include <aws/rds/RDS_EXPORTS.h>
#include <aws/rds/RDSRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/rds/model/ScalingConfiguration.h>
#include <aws/rds/model/Tag.h>
#include <utility>

namespace Aws
{
namespace RDS
{
namespace Model
{

  /**
   *

See Also:
   AWS
   * API Reference

   */
  class AWS_RDS_API RestoreDBClusterToPointInTimeRequest : public RDSRequest
  {
  public:
    RestoreDBClusterToPointInTimeRequest();

    // Service request name is the Operation name which will send this request out,
    // each operation should has unique request name, so that we can get operation's name from this request.
    // Note: this is not true for response, multiple operations may have the same response name,
    // so we can not get operation's name from response.
    inline virtual const char* GetServiceRequestName() const override { return "RestoreDBClusterToPointInTime"; }

    Aws::String SerializePayload() const override;

  protected:
    void DumpBodyToUrl(Aws::Http::URI& uri ) const override;

  public:

    /**
     *
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

     */
    inline const Aws::String& GetDBClusterIdentifier() const{ return m_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

     */
    inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; }

    /**
     *
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

     */
    inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; }

    /**
     *
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

     */
    inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); }

    /**
     *
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

     */
    inline void SetDBClusterIdentifier(const char* value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier.assign(value); }

    /**
     *
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

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;}

    /**
     *
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

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;}

    /**
     *
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

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;}

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline const Aws::String& GetRestoreType() const{ return m_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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline bool RestoreTypeHasBeenSet() const { return m_restoreTypeHasBeenSet; }

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline void SetRestoreType(const Aws::String& value) { m_restoreTypeHasBeenSet = true; m_restoreType = value; }

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline void SetRestoreType(Aws::String&& value) { m_restoreTypeHasBeenSet = true; m_restoreType = std::move(value); }

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline void SetRestoreType(const char* value) { m_restoreTypeHasBeenSet = true; m_restoreType.assign(value); }

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithRestoreType(const Aws::String& value) { SetRestoreType(value); return *this;}

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithRestoreType(Aws::String&& value) { SetRestoreType(std::move(value)); return *this;}

    /**
     *
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.

Constraints: You can't specify
     * copy-on-write if the engine version of the source DB cluster is
     * earlier than 1.11.

If you don't specify a RestoreType value,
     * then the new DB cluster is restored as a full copy of the source DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithRestoreType(const char* value) { SetRestoreType(value); return *this;}

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline const Aws::String& GetSourceDBClusterIdentifier() const{ return m_sourceDBClusterIdentifier; }

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline bool SourceDBClusterIdentifierHasBeenSet() const { return m_sourceDBClusterIdentifierHasBeenSet; }

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline void SetSourceDBClusterIdentifier(const Aws::String& value) { m_sourceDBClusterIdentifierHasBeenSet = true; m_sourceDBClusterIdentifier = value; }

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline void SetSourceDBClusterIdentifier(Aws::String&& value) { m_sourceDBClusterIdentifierHasBeenSet = true; m_sourceDBClusterIdentifier = std::move(value); }

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline void SetSourceDBClusterIdentifier(const char* value) { m_sourceDBClusterIdentifierHasBeenSet = true; m_sourceDBClusterIdentifier.assign(value); }

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithSourceDBClusterIdentifier(const Aws::String& value) { SetSourceDBClusterIdentifier(value); return *this;}

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithSourceDBClusterIdentifier(Aws::String&& value) { SetSourceDBClusterIdentifier(std::move(value)); return *this;}

    /**
     *
The identifier of the source DB cluster from which to restore.

     *
Constraints:

Must match the identifier of an existing
     * DBCluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithSourceDBClusterIdentifier(const char* value) { SetSourceDBClusterIdentifier(value); return *this;}

    /**
     *
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

     */
    inline const Aws::Utils::DateTime& GetRestoreToTime() const{ return m_restoreToTime; }

    /**
     *
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

     */
    inline bool RestoreToTimeHasBeenSet() const { return m_restoreToTimeHasBeenSet; }

    /**
     *
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

     */
    inline void SetRestoreToTime(const Aws::Utils::DateTime& value) { m_restoreToTimeHasBeenSet = true; m_restoreToTime = value; }

    /**
     *
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

     */
    inline void SetRestoreToTime(Aws::Utils::DateTime&& value) { m_restoreToTimeHasBeenSet = true; m_restoreToTime = std::move(value); }

    /**
     *
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

     */
    inline RestoreDBClusterToPointInTimeRequest& WithRestoreToTime(const Aws::Utils::DateTime& value) { SetRestoreToTime(value); return *this;}

    /**
     *
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

     */
    inline RestoreDBClusterToPointInTimeRequest& WithRestoreToTime(Aws::Utils::DateTime&& value) { SetRestoreToTime(std::move(value)); return *this;}

    /**
     *
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.

     */
    inline bool GetUseLatestRestorableTime() const{ return m_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.

     */
    inline bool UseLatestRestorableTimeHasBeenSet() const { return m_useLatestRestorableTimeHasBeenSet; }

    /**
     *
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.

     */
    inline void SetUseLatestRestorableTime(bool value) { m_useLatestRestorableTimeHasBeenSet = true; m_useLatestRestorableTime = value; }

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithUseLatestRestorableTime(bool value) { SetUseLatestRestorableTime(value); return *this;}

    /**
     *
The port number on which the new DB cluster accepts connections.

     *
Constraints: A value from 1150-65535.

Default: The
     * default port for the engine.

     */
    inline int GetPort() const{ return m_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.

     */
    inline bool PortHasBeenSet() const { return m_portHasBeenSet; }

    /**
     *
The port number on which the new DB cluster accepts connections.

     *
Constraints: A value from 1150-65535.

Default: The
     * default port for the engine.

     */
    inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; }

    /**
     *
The port number on which the new DB cluster accepts connections.

     *
Constraints: A value from 1150-65535.

Default: The
     * default port for the engine.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithPort(int value) { SetPort(value); return *this;}

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline const Aws::String& GetDBSubnetGroupName() const{ return m_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:
     * mySubnetgroup

     */
    inline bool DBSubnetGroupNameHasBeenSet() const { return m_dBSubnetGroupNameHasBeenSet; }

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline void SetDBSubnetGroupName(const Aws::String& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = value; }

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline void SetDBSubnetGroupName(Aws::String&& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = std::move(value); }

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline void SetDBSubnetGroupName(const char* value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName.assign(value); }

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBSubnetGroupName(const Aws::String& value) { SetDBSubnetGroupName(value); return *this;}

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBSubnetGroupName(Aws::String&& value) { SetDBSubnetGroupName(std::move(value)); return *this;}

    /**
     *
The DB subnet group name to use for the new DB cluster.

Constraints:
     * If supplied, must match the name of an existing DBSubnetGroup.

Example:
     * mySubnetgroup

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBSubnetGroupName(const char* value) { SetDBSubnetGroupName(value); return *this;}

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; }

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; }

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; }

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); }

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); }

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;}

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;}

    /**
     *
The name of the option group for the new DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;}

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const{ return m_vpcSecurityGroupIds; }

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; }

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline void SetVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = value; }

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline void SetVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = std::move(value); }

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetVpcSecurityGroupIds(value); return *this;}

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetVpcSecurityGroupIds(std::move(value)); return *this;}

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline RestoreDBClusterToPointInTimeRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; }

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline RestoreDBClusterToPointInTimeRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; }

    /**
     *
A list of VPC security groups that the new DB cluster belongs to.

     */
    inline RestoreDBClusterToPointInTimeRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; }

    inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }

    inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }

    inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }

    inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }

    inline RestoreDBClusterToPointInTimeRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}

    inline RestoreDBClusterToPointInTimeRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}

    inline RestoreDBClusterToPointInTimeRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }

    inline RestoreDBClusterToPointInTimeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline const Aws::String& GetKmsKeyId() const{ return m_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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}

    /**
     *
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 Amazon Web
     * Services KMS customer master key (CMK). To use a CMK 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 Amazon Web Services KMS CMK
     * that is different than the Amazon Web Services KMS key used to encrypt the
     * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
     * KMS CMK 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 Amazon Web Services KMS CMK 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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}

    /**
     *
A value that indicates whether to enable mapping of Amazon Web Services
     * Identity and Access Management (IAM) accounts to database accounts. By default,
     * mapping is disabled.

For more information, see
     * IAM Database Authentication in the Amazon Aurora User Guide.

     */
    inline bool GetEnableIAMDatabaseAuthentication() const{ return m_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 is disabled.

For more information, see
     * IAM Database Authentication in the Amazon Aurora User Guide.

     */
    inline bool EnableIAMDatabaseAuthenticationHasBeenSet() const { return m_enableIAMDatabaseAuthenticationHasBeenSet; }

    /**
     *
A value that indicates whether to enable mapping of Amazon Web Services
     * Identity and Access Management (IAM) accounts to database accounts. By default,
     * mapping is disabled.

For more information, see
     * IAM Database Authentication in the Amazon Aurora User Guide.

     */
    inline void SetEnableIAMDatabaseAuthentication(bool value) { m_enableIAMDatabaseAuthenticationHasBeenSet = true; m_enableIAMDatabaseAuthentication = value; }

    /**
     *
A value that indicates whether to enable mapping of Amazon Web Services
     * Identity and Access Management (IAM) accounts to database accounts. By default,
     * mapping is disabled.

For more information, see
     * IAM Database Authentication in the Amazon Aurora User Guide.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;}

    /**
     *
The target backtrack window, in seconds. To disable backtracking, set this
     * value to 0.

Currently, Backtrack is only supported for Aurora
     * MySQL DB clusters.

Default: 0

Constraints:

     *
If specified, this value must be set to a number from 0 to 259,200 (72
     * hours).

     */
    inline long long GetBacktrackWindow() const{ return m_backtrackWindow; }

    /**
     *
The target backtrack window, in seconds. To disable backtracking, set this
     * value to 0.

Currently, Backtrack is only supported for Aurora
     * MySQL DB clusters.

Default: 0

Constraints:

     *
If specified, this value must be set to a number from 0 to 259,200 (72
     * hours).

     */
    inline bool BacktrackWindowHasBeenSet() const { return m_backtrackWindowHasBeenSet; }

    /**
     *
The target backtrack window, in seconds. To disable backtracking, set this
     * value to 0.

Currently, Backtrack is only supported for Aurora
     * MySQL DB clusters.

Default: 0

Constraints:

     *
If specified, this value must be set to a number from 0 to 259,200 (72
     * hours).

     */
    inline void SetBacktrackWindow(long long value) { m_backtrackWindowHasBeenSet = true; m_backtrackWindow = value; }

    /**
     *
The target backtrack window, in seconds. To disable backtracking, set this
     * value to 0.

Currently, Backtrack is only supported for Aurora
     * MySQL DB clusters.

Default: 0

Constraints:

     *
If specified, this value must be set to a number from 0 to 259,200 (72
     * hours).

     */
    inline RestoreDBClusterToPointInTimeRequest& WithBacktrackWindow(long long value) { SetBacktrackWindow(value); return *this;}

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline const Aws::Vector<Aws::String>& GetEnableCloudwatchLogsExports() const{ return m_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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline bool EnableCloudwatchLogsExportsHasBeenSet() const { return m_enableCloudwatchLogsExportsHasBeenSet; }

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline void SetEnableCloudwatchLogsExports(const Aws::Vector<Aws::String>& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = value; }

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline void SetEnableCloudwatchLogsExports(Aws::Vector<Aws::String>&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = std::move(value); }

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithEnableCloudwatchLogsExports(const Aws::Vector<Aws::String>& value) { SetEnableCloudwatchLogsExports(value); return *this;}

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithEnableCloudwatchLogsExports(Aws::Vector<Aws::String>&& value) { SetEnableCloudwatchLogsExports(std::move(value)); return *this;}

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline RestoreDBClusterToPointInTimeRequest& AddEnableCloudwatchLogsExports(const Aws::String& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; }

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline RestoreDBClusterToPointInTimeRequest& AddEnableCloudwatchLogsExports(Aws::String&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(std::move(value)); return *this; }

    /**
     *
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. For more
     * information, see Publishing
     * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User
     * Guide.

     */
    inline RestoreDBClusterToPointInTimeRequest& AddEnableCloudwatchLogsExports(const char* value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; }

    /**
     *
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.

     */
    inline const Aws::String& GetDBClusterParameterGroupName() const{ return m_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.

     */
    inline bool DBClusterParameterGroupNameHasBeenSet() const { return m_dBClusterParameterGroupNameHasBeenSet; }

    /**
     *
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.

     */
    inline void SetDBClusterParameterGroupName(const Aws::String& value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName = value; }

    /**
     *
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.

     */
    inline void SetDBClusterParameterGroupName(Aws::String&& value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName = std::move(value); }

    /**
     *
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.

     */
    inline void SetDBClusterParameterGroupName(const char* value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName.assign(value); }

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBClusterParameterGroupName(const Aws::String& value) { SetDBClusterParameterGroupName(value); return *this;}

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBClusterParameterGroupName(Aws::String&& value) { SetDBClusterParameterGroupName(std::move(value)); return *this;}

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDBClusterParameterGroupName(const char* value) { SetDBClusterParameterGroupName(value); return *this;}

    /**
     *
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 is disabled.

     */
    inline bool GetDeletionProtection() const{ return m_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 is disabled.

     */
    inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }

    /**
     *
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 is disabled.

     */
    inline void SetDeletionProtection(bool value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; }

    /**
     *
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 is disabled.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;}

    /**
     *
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.

     */
    inline bool GetCopyTagsToSnapshot() const{ return m_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.

     */
    inline bool CopyTagsToSnapshotHasBeenSet() const { return m_copyTagsToSnapshotHasBeenSet; }

    /**
     *
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.

     */
    inline void SetCopyTagsToSnapshot(bool value) { m_copyTagsToSnapshotHasBeenSet = true; m_copyTagsToSnapshot = value; }

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithCopyTagsToSnapshot(bool value) { SetCopyTagsToSnapshot(value); return *this;}

    /**
     *
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.

     */
    inline const Aws::String& GetDomain() const{ return m_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.

     */
    inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; }

    /**
     *
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.

     */
    inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; }

    /**
     *
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.

     */
    inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); }

    /**
     *
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.

     */
    inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); }

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;}

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;}

    /**
     *
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.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDomain(const char* value) { SetDomain(value); return *this;}

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline const Aws::String& GetDomainIAMRoleName() const{ return m_domainIAMRoleName; }

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline bool DomainIAMRoleNameHasBeenSet() const { return m_domainIAMRoleNameHasBeenSet; }

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline void SetDomainIAMRoleName(const Aws::String& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = value; }

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline void SetDomainIAMRoleName(Aws::String&& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = std::move(value); }

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline void SetDomainIAMRoleName(const char* value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName.assign(value); }

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDomainIAMRoleName(const Aws::String& value) { SetDomainIAMRoleName(value); return *this;}

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDomainIAMRoleName(Aws::String&& value) { SetDomainIAMRoleName(std::move(value)); return *this;}

    /**
     *
Specify the name of the IAM role to be used when making API calls to the
     * Directory Service.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithDomainIAMRoleName(const char* value) { SetDomainIAMRoleName(value); return *this;}

    /**
     *
For DB clusters in serverless DB engine mode, the scaling
     * properties of the DB cluster.

     */
    inline const ScalingConfiguration& GetScalingConfiguration() const{ return m_scalingConfiguration; }

    /**
     *
For DB clusters in serverless DB engine mode, the scaling
     * properties of the DB cluster.

     */
    inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; }

    /**
     *
For DB clusters in serverless DB engine mode, the scaling
     * properties of the DB cluster.

     */
    inline void SetScalingConfiguration(const ScalingConfiguration& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; }

    /**
     *
For DB clusters in serverless DB engine mode, the scaling
     * properties of the DB cluster.

     */
    inline void SetScalingConfiguration(ScalingConfiguration&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); }

    /**
     *
For DB clusters in serverless DB engine mode, the scaling
     * properties of the DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithScalingConfiguration(const ScalingConfiguration& value) { SetScalingConfiguration(value); return *this;}

    /**
     *
For DB clusters in serverless DB engine mode, the scaling
     * properties of the DB cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithScalingConfiguration(ScalingConfiguration&& value) { SetScalingConfiguration(std::move(value)); return *this;}

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline const Aws::String& GetEngineMode() const{ return m_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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline bool EngineModeHasBeenSet() const { return m_engineModeHasBeenSet; }

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline void SetEngineMode(const Aws::String& value) { m_engineModeHasBeenSet = true; m_engineMode = value; }

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline void SetEngineMode(Aws::String&& value) { m_engineModeHasBeenSet = true; m_engineMode = std::move(value); }

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline void SetEngineMode(const char* value) { m_engineModeHasBeenSet = true; m_engineMode.assign(value); }

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithEngineMode(const Aws::String& value) { SetEngineMode(value); return *this;}

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithEngineMode(Aws::String&& value) { SetEngineMode(std::move(value)); return *this;}

    /**
     *
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 clone from a provisioned cluster, or a
     * provisioned clone from an Aurora Serverless cluster. To create a clone that is
     * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
     * cluster or an encrypted provisioned cluster.

     */
    inline RestoreDBClusterToPointInTimeRequest& WithEngineMode(const char* value) { SetEngineMode(value); return *this;}

  private:

    Aws::String m_dBClusterIdentifier;
    bool m_dBClusterIdentifierHasBeenSet;

    Aws::String m_restoreType;
    bool m_restoreTypeHasBeenSet;

    Aws::String m_sourceDBClusterIdentifier;
    bool m_sourceDBClusterIdentifierHasBeenSet;

    Aws::Utils::DateTime m_restoreToTime;
    bool m_restoreToTimeHasBeenSet;

    bool m_useLatestRestorableTime;
    bool m_useLatestRestorableTimeHasBeenSet;

    int m_port;
    bool m_portHasBeenSet;

    Aws::String m_dBSubnetGroupName;
    bool m_dBSubnetGroupNameHasBeenSet;

    Aws::String m_optionGroupName;
    bool m_optionGroupNameHasBeenSet;

    Aws::Vector<Aws::String> m_vpcSecurityGroupIds;
    bool m_vpcSecurityGroupIdsHasBeenSet;

    Aws::Vector<Tag> m_tags;
    bool m_tagsHasBeenSet;

    Aws::String m_kmsKeyId;
    bool m_kmsKeyIdHasBeenSet;

    bool m_enableIAMDatabaseAuthentication;
    bool m_enableIAMDatabaseAuthenticationHasBeenSet;

    long long m_backtrackWindow;
    bool m_backtrackWindowHasBeenSet;

    Aws::Vector<Aws::String> m_enableCloudwatchLogsExports;
    bool m_enableCloudwatchLogsExportsHasBeenSet;

    Aws::String m_dBClusterParameterGroupName;
    bool m_dBClusterParameterGroupNameHasBeenSet;

    bool m_deletionProtection;
    bool m_deletionProtectionHasBeenSet;

    bool m_copyTagsToSnapshot;
    bool m_copyTagsToSnapshotHasBeenSet;

    Aws::String m_domain;
    bool m_domainHasBeenSet;

    Aws::String m_domainIAMRoleName;
    bool m_domainIAMRoleNameHasBeenSet;

    ScalingConfiguration m_scalingConfiguration;
    bool m_scalingConfigurationHasBeenSet;

    Aws::String m_engineMode;
    bool m_engineModeHasBeenSet;
  };

} // namespace Model
} // namespace RDS
} // namespace Aws


text:
<?php

declare(strict_types=1);

namespace EdmondsCommerce\DoctrineStaticMeta\Tests\Small\CodeGeneration\Creation\Process\Src\Entity\Interfaces;

// phpcs:disable
use EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Creation\AbstractCreator;
use EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Creation\Process\Src\Entity\Interfaces\AddSettableUuidInterfaceProcess;
use EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Filesystem\File;
use EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Filesystem\File\FindReplace;
use PHPUnit\Framework\TestCase;
// phpcs:enable
/**
 * @small
 * @covers \EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Creation\Process\Src\Entity\Interfaces\AddSettableUuidInterfaceProcess
 */
class AddSettableUuidInterfaceProcessTest extends TestCase
{
    /**
     * @test
     */
    public function itCanAddTheInterface(): void
    {
        $file = new File();
        $file->setContents(
            \ts\file_get_contents(AbstractCreator::ROOT_TEMPLATE_PATH .
                                  '/src/Entity/Interfaces/TemplateEntityInterface.php')
        );
        $process = $this->getProcess();
        $process->run(new FindReplace($file));
        $expected = '<?php declare(strict_types=1);

namespace TemplateNamespace\Entity\Interfaces;

use EdmondsCommerce\DoctrineStaticMeta\Entity as DSM;
use EdmondsCommerce\DoctrineStaticMeta\Entity\Fields\Interfaces\PrimaryKey\UuidPrimaryKeyInterface;

interface TemplateEntityInterface extends
    DSM\Interfaces\EntityInterface,
    UuidPrimaryKeyInterface
{

}
';
        $actual   = $file->getContents();
        self::assertSame($expected, $actual);
    }

    private function getProcess(): AddSettableUuidInterfaceProcess
    {
        return new AddSettableUuidInterfaceProcess();
    }
}

redpajama_set_name: RedPajamaGithub


text:
/**
 *
 * remove an app from the device
 *
 * @param {String} bundleId  bundle ID of application
 * @callbackParameter error, response
 *
 * @see  https://github.com/appium/appium/blob/master/docs/en/appium-bindings.md#remove-app
 * @type appium
 *
 */

module.exports = function removeAppFromDevice(appId) {

    /*!
     * make sure that callback contains chainit callback
     */
    var callback = arguments[arguments.length - 1];

    var requestOptions = {
        path: '/session/:sessionId/appium/device/remove_app',
        method: 'POST'
    };

    this.requestHandler.create(requestOptions, { appId: appId }, callback);

};


text:
using System;

using Org.BouncyCastle.Math;

namespace ProtocolModern.Data
{
    public struct Modifiers : IEquatable<Modifiers>
    {
        public BigInteger UUID;
        public double Amount;
        public sbyte Operation;

        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;

            if (obj.GetType() != GetType())
                return false;

            return Equals((Modifiers) obj);
        }
        public bool Equals(Modifiers other) => UUID.Equals(other.UUID) && Amount.Equals(other.Amount) && Operation.Equals(other.Operation);

        public override int GetHashCode() => UUID.GetHashCode() ^ Amount.GetHashCode() ^ Operation.GetHashCode();
    }

    public struct EntityProperty : IEquatable<EntityProperty>
    {
        public string Key;
        public double Value;
        public Modifiers[] Modifiers;

        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;

            if (obj.GetType() != GetType())
                return false;

            return Equals((EntityProperty) obj);
        }
        public bool Equals(EntityProperty other) => Key.Equals(other.Key) && Value.Equals(other.Value) && Modifiers.Equals(other.Modifiers);

        public override int GetHashCode() => Key.GetHashCode() ^ Value.GetHashCode() ^ Modifiers.GetHashCode();
    }
}


text:
import { expect } from 'chai';
import { Renderer } from 'src/Renderer';

describe('Renderer: A renderer installed on a bid response', () => {
  const testRenderer1 = Renderer.install({
    url: 'https://httpbin.org/post',
    config: { test: 'config1' },
    id: 1
  });
  const testRenderer2 = Renderer.install({
    url: 'https://httpbin.org/post',
    config: { test: 'config2' },
    id: 2
  });

  const spyRenderFn = sinon.spy();
  const spyEventHandler = sinon.spy();

  it('is an instance of Renderer', () => {
    expect(testRenderer1 instanceof Renderer).to.equal(true);
  });

  it('has expected properties ', () => {
    expect(testRenderer1.url).to.equal('https://httpbin.org/post');
    expect(testRenderer1.config).to.deep.equal({ test: 'config1' });
    expect(testRenderer1.id).to.equal(1);
  });

  it('returns config from getConfig method', () => {
    expect(testRenderer1.getConfig()).to.deep.equal({ test: 'config1' });
    expect(testRenderer2.getConfig()).to.deep.equal({ test: 'config2' });
  });

  it('sets a render function with setRender method', () => {
    testRenderer1.setRender(spyRenderFn);
    expect(typeof testRenderer1.render).to.equal('function');

    testRenderer1.render();
    expect(spyRenderFn.called).to.equal(true);
  });

  it('sets event handlers with setEventHandlers method', () => {
    testRenderer1.setEventHandlers({
      testEvent: spyEventHandler
    });

    expect(testRenderer1.handlers).to.deep.equal({
      testEvent: spyEventHandler
    });
  });

  it('handles events with installed handlers', () => {
    testRenderer1.handleVideoEvent({ id: 1, eventName: 'testEvent' });
    expect(spyEventHandler.called).to.equal(true);
  });

  it('pushes commands to queue if renderer is not loaded', () => {
    testRenderer1.push(spyRenderFn);

    expect(testRenderer1.cmd.length).to.equal(1);

    // clear queue for next tests
    testRenderer1.cmd = [];
  });

  it('fires commands immediately if the renderer is loaded', () => {
    const func = sinon.spy();

    testRenderer1.loaded = true;
    testRenderer1.push(func);

    expect(testRenderer1.cmd.length).to.equal(0);
    sinon.assert.calledOnce(func);
  });

  it('processes queue by calling each function in queue', () => {
    testRenderer1.loaded = false;
    const func1 = sinon.spy();
    const func2 = sinon.spy();

    testRenderer1.push(func1);
    testRenderer1.push(func2);
    expect(testRenderer1.cmd.length).to.equal(2);

    testRenderer1.process();

    sinon.assert.calledOnce(func1);
    sinon.assert.calledOnce(func2);
    expect(testRenderer1.cmd.length).to.equal(0);
  });
});


text:
#include <aws/guardduty/model/GetThreatIntelSetResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>

#include <utility>

using namespace Aws::GuardDuty::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;

GetThreatIntelSetResult::GetThreatIntelSetResult() :
    m_format(ThreatIntelSetFormat::NOT_SET),
    m_status(ThreatIntelSetStatus::NOT_SET)
{
}

GetThreatIntelSetResult::GetThreatIntelSetResult(const Aws::AmazonWebServiceResult<JsonValue>& result) :
    m_format(ThreatIntelSetFormat::NOT_SET),
    m_status(ThreatIntelSetStatus::NOT_SET)
{
  *this = result;
}

GetThreatIntelSetResult& GetThreatIntelSetResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
  JsonView jsonValue = result.GetPayload().View();
  if(jsonValue.ValueExists("name"))
  {
    m_name = jsonValue.GetString("name");

  }

  if(jsonValue.ValueExists("format"))
  {
    m_format = ThreatIntelSetFormatMapper::GetThreatIntelSetFormatForName(jsonValue.GetString("format"));

  }

  if(jsonValue.ValueExists("location"))
  {
    m_location = jsonValue.GetString("location");

  }

  if(jsonValue.ValueExists("status"))
  {
    m_status = ThreatIntelSetStatusMapper::GetThreatIntelSetStatusForName(jsonValue.GetString("status"));

  }

  if(jsonValue.ValueExists("tags"))
  {
    Aws::Map<Aws::String, JsonView> tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects();
    for(auto& tagsItem : tagsJsonMap)
    {
      m_tags[tagsItem.first] = tagsItem.second.AsString();
    }
  }

  return *this;
}


text:
<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Pat DeSantis's Portfolio</title>

    <link href="css/bootstrap.min.css" rel="stylesheet">

    <link href="css/2-col-portfolio.css" rel="stylesheet">

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
    <link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">

                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                    Toggle navigation

                </button>
                Pat DeSantis

                        Personal Projects

                        Employer Projects

                        Writing

                        Open Source

                        Resume

Sweaty Bird

Overview

                    Sweaty Bird is an Apple Watch workout app that gives you more customizabilty and faster performance than the stock Workout app.

Project Info

Available on the App Store

Team: Solo developer & UX designer. Contracted with graphic designer for sticker designs.

Time: Summer 2016

Features

Over 60 workouts & activity types supported by HealthKit to choose from!

Customize your Apple Watch to show only the workouts you care about!

Tell us where you like to work out and Sweaty Bird will remind you to track when you arrive. Simply tap the notification on your iPhone or Apple Watch to start your workout - no need to even open the app!

Forgot to stop your workout? We'll remind you if you leave your workout zone with a workout still running.

Fully integrated with Apple Health, so you can fill your activity rings and view your workouts in the Activity and Health apps!

Had a great workout? Stamp your workout stats on a penguin sticker!

Add our complication to your watch face, or add Sweaty Bird to your Apple Watch dock to start your workouts even faster!

App Technical Specs

Platforms: iOS, watchOS, iMessage Extension

100% Swift

Frameworks: CoreLocation, CoreMotion, HealthKit, StoreKit, MapKit, UserNotifications

Contact Me

I would love to chat with you!
Feel free to email me at

                        pdesantis3@gmail.com

Around the Web


text:
@implementation eLongAnalyticsEventBaseModel

- (void)sendEventWithPageName:(NSString *)pageName
{

}

@end


text:
using System;
using Glimpse.Core.Extensibility;
using Glimpse.Mvc.Display;
using Glimpse.Mvc.Model;

namespace Glimpse.Mvc.SerializationConverter
{
    public class MvcDisplayModelConverter : SerializationConverter<MvcDisplayModel>
    {
        public override object Convert(MvcDisplayModel obj)
        {
            return new
                {
                    controllerName = obj.ControllerName,
                    actionName = obj.ActionName,
                    actionExecutionTime = GetRoundedValueIfExists(obj.ActionExecutionTime),
                    childActionCount = obj.ChildActionCount,
                    childViewCount = obj.ChildViewCount,
                    viewName = obj.ViewName,
                    viewRenderTime = GetRoundedValueIfExists(obj.ViewRenderTime),
                    matchedRouteName = obj.MatchedRouteName,
                };
        }

        private object GetRoundedValueIfExists(double? value)
        {
            if (value.HasValue)
            {
                return Math.Round(value.Value, 2);
            }

            return null;
        }
    }
}


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<TITLE>
org.openxava.controller.meta (OpenXava 4.9.1 API)
</TITLE>

<META NAME="keywords" CONTENT="org.openxava.controller.meta package">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

org.openxava.controller.meta

Classes

MetaAction

MetaController

MetaControllers

MetaObject

MetaSubcontroller

MetaUseObject


text:
require 'rails_helper'

module PasswordRequired
  class PasswordRequest
    describe HiddenInputs do
      let(:inputs) do
        {
          top: 'name',
          second: {
            level: 'thing',
            array: %w(one two three),
            nesting: {
              name: 'ben'
            }
          }
        }
      end
      subject { HiddenInputs.new(inputs).to_s }

      it { should match(/name="top"/) }
      it { should match(/name="second\[level\]/) }
      it { should match(/name="second\[array\]\[\]/) }
      it { should match(/name="second\[nesting\]\[name\]/) }
    end
  end
end


text:
<!DOCTYPE html>

    <meta charset="utf-8">
    <title>JSDoc: Home</title>

    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">

Home

Pushkin is a scalable ecosystem for psychological surveys and tests.

It consists of 5 key parts

Pushkin-Api

Pushkin-Cli

Pushkin-DB

Pushkin-Worker

Pushkin-Cron

Why Pushkin

Assumptions

You are somewhat familiar with isntalling programs and understand what your terminal is and how to use it.

You have access to a text editor like sublime/notepad++/etc.

Docker is installed on your machine

Getting started

Development Mode

docker-compose up -f docker-compose.debug.yml

Deploying

Deploy Instructions Here

Directory Structure

Common Tasks

Cronjobs

Pushkin makes adding a cron job easy,

just add the file script you want ran in games-with-words-cron/scripts.

Add a line calling that file in games-with-words-cron/crontab

Each one of those files has access to the environment variables created in the docker file.

DB Connection is available as DATABASE_URL and the message queue as AMPQ_ADDRESS.

Right now we only support python and node.js cron tabs. feel free to modify the Dockerfile to add a different environment you may need.

Documentation

Docs can be created by running npm install, then npm run docs.

JS Docs are available for this project, all the document files are located in your pushkin/docs folder. For more information about JS Docs, please visit JS Docs.

Add Js Docs

You could add a piece of Js Docs anywhere for any functions through out the whole project by using this syntax :

  /**
   * creates a new controller with specified name
   * @method ControllerManager#generate
   * @param {String} name - name of controller to create
   * @memberof ControllerManager
   */

This will get compiled down in your pushkin/docs folder and available for view. Please read the Compile section of this readme for more info.

Config

Please feel free to modify jsdoc.conf.json located in your main pushkin folder. This config file handles the main configuration of JS Docs compile settings. You could include or exclude any additional source folders for JS Docs to look in or ignore by editing the include and exclude section of this JSON file. You could also include a README as the home page of your js docs by adding README.md in the include section of this file. JS Docs looks for the first README.md it could find and make use of that.

Compile

After you've added/deleted/edited/changed any your JS Docs, you will have to recompile for the changes to apply.

make sure you've all npm pacages installed in your 'pushkin' folder by executing npm install

execute npm run docs to compile

open up pushkin/docs/index.html to see your newly updated JS Docs

Roles and Permissions

Acknowledgements

Josh DeLieuw of jspsych

Home

Classes

ControllerManager

ModelManager

Worker

    Documentation generated by JSDoc 3.4.3 on Wed May 24 2017 17:31:38 GMT-0700 (PDT)


text:
using System;
using System.Globalization;
using System.Threading;
using NUnit.Framework;
using SIL.Extensions;

namespace SIL.Tests.Extensions
{
	[TestFixture]
	public class DateTimeExtensionTests
	{
		[Test]
		public void ToISO8601TimeFormatWithUTCString_ReturnsTimeInUTC()
		{
			var dateTime = DateTime.Parse("2017-02-20T12:08:09+03:00");
			Assert.That(dateTime.ToISO8601TimeFormatWithUTCString(),
				Is.EqualTo("2017-02-20T09:08:09Z"));
		}

		[TestCase(DateTimeKind.Local)]
		[TestCase(DateTimeKind.Utc)]
		[TestCase(DateTimeKind.Unspecified)]
		public void ToISO8601TimeFormatWithUTCString_DifferentInputKind_ReturnsTimeInUTC(DateTimeKind kind)
		{
			var dateTime = new DateTime(2017, 02, 20, 17, 18, 19, kind);
			Assert.That(dateTime.ToISO8601TimeFormatWithUTCString(),
				Is.EqualTo(dateTime.ToUniversalTime()
					.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture)));
		}

		[Test]
		public void ToISO8601XTimeString_CultureUsesPeriods_OutputsWithColons()
		{
			//simulate the culture that was messing us up
			var culture = new CultureInfo("en-US");
			culture.DateTimeFormat.TimeSeparator = ".";
			Thread.CurrentThread.CurrentCulture = culture;

			string whenSample = "2008-07-01T16:29:23Z";
			var when = DateTimeExtensions.ParseISO8601DateTime(whenSample);
			Assert.AreEqual(whenSample, when.ToISO8601TimeFormatWithUTCString());

			whenSample = "2008-07-01T16:29:23";
			when = DateTimeExtensions.ParseISO8601DateTime(whenSample);
			Assert.AreEqual(whenSample, when.ToISO8601TimeFormatNoTimeZoneString());

			whenSample = "2008-07-01";
			when = DateTimeExtensions.ParseISO8601DateTime(whenSample);
			Assert.AreEqual(whenSample, when.ToISO8601TimeFormatDateOnlyString());
		}

		[Test]
		public void IsISO8601Date_ReturnsCorrectValue()
		{
			Assert.True(DateTimeExtensions.IsISO8601Date("2014-01-01"));
			Assert.True(DateTimeExtensions.IsISO8601Date("2014-12-31"));
			Assert.False(DateTimeExtensions.IsISO8601Date("2014/12/31"));
			Assert.False(DateTimeExtensions.IsISO8601Date("12/12/2014"));
			Assert.False(DateTimeExtensions.IsISO8601Date("12 DEC 2014"));
			Assert.False(DateTimeExtensions.IsISO8601Date("2014-13-01"));
			Assert.False(DateTimeExtensions.IsISO8601Date("2014-12-32"));
		}

		[Test]
		public void IsISO8601DateTime_ReturnsCorrectValue()
		{
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29+0000"));
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29+2000"));
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29-2000"));
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29Z"));
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29"));
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29-20:00"));
			Assert.True(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29+20:00"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014/12/31T13:56:29-2000"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-31 13:56:29-2000"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29 0000"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29ZZ"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29Z0000"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-31T13:56:29 0000"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-31 04:45:29"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014/12/32T04:45:29"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-13-01T04:45:29"));
			Assert.False(DateTimeExtensions.IsISO8601DateTime("2014-12-32T04:45:29"));

		}

		[Test]
		public void ParseISO8601DateTime()
		{
			var defaultTime = new DateTime();
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("0001-01-01T00:00:00+00:00"), Is.EqualTo(defaultTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("0001-01-01T00:00:00+0000"), Is.EqualTo(defaultTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("0001-01-01T00:00:00Z"), Is.EqualTo(defaultTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("0001-01-01T00:00:00"), Is.EqualTo(defaultTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("0001-01-01"), Is.EqualTo(defaultTime));

			var expectedTime = new DateTime(2012, 02, 29, 12, 30, 45);
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("2012-02-29T12:30:45+0000"), Is.EqualTo(expectedTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("2012-02-29T12:30:45+00:00"), Is.EqualTo(expectedTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("2012-02-29T00:30:45-1200"), Is.EqualTo(expectedTime));
			Assert.That(DateTimeExtensions.ParseISO8601DateTime("2012-02-29T00:30:45-12:00"), Is.EqualTo(expectedTime));
		}

	}
}


text:
class aiNode;
class aiMesh;
class aiScene;
namespace Mile
{
   class Model;
   class Context;
   class World;
   class RendererDX11;
   class Entity;
   class Mesh;
   class MEAPI ModelLoader
   {
   public:
      static Entity* LoadModel(Context* context, Model* target, const String& filePath);

   private:
      static void ReconstructEntityWithAiNode(const aiScene* scene, aiNode* node, Model* target, Entity* entity);
      static void ReconstructMeshWithAiMesh(const aiScene* scene, aiMesh* mesh, Model* target, Entity* entity);

   private:
      static Context* contextInst;
      static RendererDX11* rendererInst;

   };
}


text:
```html
<include-directive
  awesome-if="should_show"
  template="platforms/connections"> <!-- rails template -->
</include-directive>
```

awesome-if is a directive that behaves like ng-show, but removes the dom while
not shown(i.e detaches it). It's the same as ng-if, but without the overhead of recompiling largs dom each time.
It's not recreated and as such, to be aware that your controller has been reshown use the following:

```javascript
$scope.$parent.restart = function () {
  $scope.init();
};

$scope.$parent.stop = function () {

};
```