Exemplo n.º 1
0
    public MyStack()
    {
        var app = new Aws.Pinpoint.App("app", new Aws.Pinpoint.AppArgs
        {
        });
        var testStream = new Aws.Kinesis.Stream("testStream", new Aws.Kinesis.StreamArgs
        {
            ShardCount = 1,
        });
        var testRole = new Aws.Iam.Role("testRole", new Aws.Iam.RoleArgs
        {
            AssumeRolePolicy = @"{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {
      ""Action"": ""sts:AssumeRole"",
      ""Principal"": {
        ""Service"": ""pinpoint.us-east-1.amazonaws.com""
      },
      ""Effect"": ""Allow"",
      ""Sid"": """"
    }
  ]
}

",
        });
        var stream = new Aws.Pinpoint.EventStream("stream", new Aws.Pinpoint.EventStreamArgs
        {
            ApplicationId        = app.ApplicationId,
            DestinationStreamArn = testStream.Arn,
            RoleArn = testRole.Arn,
        });
        var testRolePolicy = new Aws.Iam.RolePolicy("testRolePolicy", new Aws.Iam.RolePolicyArgs
        {
            Policy = @"{
  ""Version"": ""2012-10-17"",
  ""Statement"": {
    ""Action"": [
      ""kinesis:PutRecords"",
      ""kinesis:DescribeStream""
    ],
    ""Effect"": ""Allow"",
    ""Resource"": [
      ""arn:aws:kinesis:us-east-1:*:*/*""
    ]
  }
}

",
            Role   = testRole.Id,
        });
    }
Exemplo n.º 2
0
    public MyStack()
    {
        var console = new Aws.CloudWatch.EventRule("console", new Aws.CloudWatch.EventRuleArgs
        {
            Description  = "Capture all EC2 scaling events",
            EventPattern = @"{
  ""source"": [
    ""aws.autoscaling""
  ],
  ""detail-type"": [
    ""EC2 Instance Launch Successful"",
    ""EC2 Instance Terminate Successful"",
    ""EC2 Instance Launch Unsuccessful"",
    ""EC2 Instance Terminate Unsuccessful""
  ]
}

",
        });
        var testStream = new Aws.Kinesis.Stream("testStream", new Aws.Kinesis.StreamArgs
        {
            ShardCount = 1,
        });
        var yada = new Aws.CloudWatch.EventTarget("yada", new Aws.CloudWatch.EventTargetArgs
        {
            Arn  = testStream.Arn,
            Rule = console.Name,
            RunCommandTargets =
            {
                new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs
                {
                    Key    = "tag:Name",
                    Values =
                    {
                        "FooBar",
                    },
                },
                new Aws.CloudWatch.Inputs.EventTargetRunCommandTargetArgs
                {
                    Key    = "InstanceIds",
                    Values =
                    {
                        "i-162058cd308bffec2",
                    },
                },
            },
        });
    }
Exemplo n.º 3
0
 public MyStack()
 {
     var testStream = new Aws.Kinesis.Stream("testStream", new Aws.Kinesis.StreamArgs
     {
         ShardCount = 1,
     });
     var testApplication = new Aws.Kinesis.AnalyticsApplication("testApplication", new Aws.Kinesis.AnalyticsApplicationArgs
     {
         Inputs = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsArgs
         {
             KinesisStream = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsKinesisStreamArgs
             {
                 ResourceArn = testStream.Arn,
                 RoleArn     = aws_iam_role.Test.Arn,
             },
             NamePrefix  = "test_prefix",
             Parallelism = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsParallelismArgs
             {
                 Count = 1,
             },
             Schema = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaArgs
             {
                 RecordColumns =
                 {
                     new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordColumnArgs
                     {
                         Mapping = "$.test",
                         Name    = "test",
                         SqlType = "VARCHAR(8)",
                     },
                 },
                 RecordEncoding = "UTF-8",
                 RecordFormat   = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs
                 {
                     MappingParameters = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs
                     {
                         Json = new Aws.Kinesis.Inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs
                         {
                             RecordRowPath = "$",
                         },
                     },
                 },
             },
         },
     });
 }
Exemplo n.º 4
0
 public MyStack()
 {
     var testStream = new Aws.Kinesis.Stream("testStream", new Aws.Kinesis.StreamArgs
     {
         RetentionPeriod   = 48,
         ShardCount        = 1,
         ShardLevelMetrics =
         {
             "IncomingBytes",
             "OutgoingBytes",
         },
         Tags =
         {
             { "Environment", "test" },
         },
     });
 }