Exemplo n.º 1
0
 public MyStack()
 {
     var defaultCluster = new Aws.RedShift.Cluster("defaultCluster", new Aws.RedShift.ClusterArgs
     {
         ClusterIdentifier = "tf-redshift-cluster",
         ClusterType       = "single-node",
         DatabaseName      = "mydb",
         MasterPassword    = "******",
         MasterUsername    = "******",
         NodeType          = "dc1.large",
     });
     var defaultSnapshotSchedule = new Aws.RedShift.SnapshotSchedule("defaultSnapshotSchedule", new Aws.RedShift.SnapshotScheduleArgs
     {
         Definitions =
         {
             "rate(12 hours)",
         },
         Identifier = "tf-redshift-snapshot-schedule",
     });
     var defaultSnapshotScheduleAssociation = new Aws.RedShift.SnapshotScheduleAssociation("defaultSnapshotScheduleAssociation", new Aws.RedShift.SnapshotScheduleAssociationArgs
     {
         ClusterIdentifier  = defaultCluster.Id,
         ScheduleIdentifier = defaultSnapshotSchedule.Id,
     });
 }
Exemplo n.º 2
0
 public MyStack()
 {
     var defaultCluster = new Aws.RedShift.Cluster("defaultCluster", new Aws.RedShift.ClusterArgs
     {
         ClusterIdentifier = "default",
         DatabaseName      = "default",
     });
     var defaultTopic = new Aws.Sns.Topic("defaultTopic", new Aws.Sns.TopicArgs
     {
     });
     var defaultEventSubscription = new Aws.RedShift.EventSubscription("defaultEventSubscription", new Aws.RedShift.EventSubscriptionArgs
     {
         EventCategories =
         {
             "configuration",
             "management",
             "monitoring",
             "security",
         },
         Severity    = "INFO",
         SnsTopicArn = defaultTopic.Arn,
         SourceIds   =
         {
             defaultCluster.Id,
         },
         SourceType = "cluster",
         Tags       =
         {
             { "Name", "default" },
         },
     });
 }
Exemplo n.º 3
0
 public MyStack()
 {
     var @default = new Aws.RedShift.Cluster("default", new Aws.RedShift.ClusterArgs
     {
         ClusterIdentifier = "tf-redshift-cluster",
         ClusterType       = "single-node",
         DatabaseName      = "mydb",
         MasterPassword    = "******",
         MasterUsername    = "******",
         NodeType          = "dc1.large",
     });
 }
Exemplo n.º 4
0
 public MyStack()
 {
     var testSnapshotCopyGrant = new Aws.RedShift.SnapshotCopyGrant("testSnapshotCopyGrant", new Aws.RedShift.SnapshotCopyGrantArgs
     {
         SnapshotCopyGrantName = "my-grant",
     });
     var testCluster = new Aws.RedShift.Cluster("testCluster", new Aws.RedShift.ClusterArgs
     {
         SnapshotCopy = new Aws.RedShift.Inputs.ClusterSnapshotCopyArgs
         {
             DestinationRegion = "us-east-2",
             GrantName         = testSnapshotCopyGrant.SnapshotCopyGrantName,
         },
     });
 }
Exemplo n.º 5
0
 public MyStack()
 {
     var testCluster = new Aws.RedShift.Cluster("testCluster", new Aws.RedShift.ClusterArgs
     {
         ClusterIdentifier = "tf-redshift-cluster-%d",
         ClusterType       = "single-node",
         DatabaseName      = "test",
         MasterPassword    = "******",
         MasterUsername    = "******",
         NodeType          = "dc1.large",
     });
     var testStream = new Aws.Kinesis.FirehoseDeliveryStream("testStream", new Aws.Kinesis.FirehoseDeliveryStreamArgs
     {
         Destination           = "redshift",
         RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs
         {
             ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =>
             {
                 var endpoint     = values.Item1;
                 var databaseName = values.Item2;
                 return($"jdbc:redshift://{endpoint}/{databaseName}");
             }),
             CopyOptions           = "delimiter '|'",
             DataTableColumns      = "test-col",
             DataTableName         = "test-table",
             Password              = "******",
             RoleArn               = aws_iam_role.Firehose_role.Arn,
             S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs
             {
                 BucketArn         = aws_s3_bucket.Bucket.Arn,
                 BufferInterval    = 300,
                 BufferSize        = 15,
                 CompressionFormat = "GZIP",
                 RoleArn           = aws_iam_role.Firehose_role.Arn,
             },
             S3BackupMode = "Enabled",
             Username     = "******",
         },
         S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamS3ConfigurationArgs
         {
             BucketArn         = aws_s3_bucket.Bucket.Arn,
             BufferInterval    = 400,
             BufferSize        = 10,
             CompressionFormat = "GZIP",
             RoleArn           = aws_iam_role.Firehose_role.Arn,
         },
     });
 }
Exemplo n.º 6
0
    private async Task <redshift.Cluster> createRedshiftCluster(int port, ec2.SecurityGroup securityGroup, iam.Role role)
    {
        var password = await getRedshiftPassword();

        var cluster = new redshift.Cluster("dend-redshift-cluster", new redshift.ClusterArgs
        {
            NodeType          = "dc2.large",
            NumberOfNodes     = 2,
            ClusterIdentifier = "dend-redshift-cluster",
            DatabaseName      = "dev",
            Port                    = port,
            MasterUsername          = "******",
            MasterPassword          = password,
            VpcSecurityGroupIds     = { securityGroup.Id },
            IamRoles                = { "AWSServiceRoleForRedshift", role.Id },
            FinalSnapshotIdentifier = "dend-snapshot"
        }, this.CustomResourceOptions);

        return(cluster);
    }