ExportArgs

data class ExportArgs(val export: Output<ExportExportArgs>? = null, val tags: Output<Map<String, String>>? = null, val timeouts: Output<ExportTimeoutsArgs>? = null) : ConvertibleToJava<ExportArgs>

Resource for managing an AWS BCM Data Exports Export.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.bcmdata.Export("test", {"export": {
name: "testexample",
dataQueries: [{
queryStatement: "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
tableConfigurations: {
COST_AND_USAGE_REPORT: {
TIME_GRANULARITY: "HOURLY",
INCLUDE_RESOURCES: "FALSE",
INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: "FALSE",
INCLUDE_SPLIT_COST_ALLOCATION_DATA: "FALSE",
},
},
}],
destinationConfigurations: [{
s3Destinations: [{
s3Bucket: testAwsS3Bucket.bucket,
s3Prefix: testAwsS3Bucket.bucketPrefix,
s3Region: testAwsS3Bucket.region,
s3OutputConfigurations: [{
overwrite: "OVERWRITE_REPORT",
format: "TEXT_OR_CSV",
compression: "GZIP",
outputType: "CUSTOM",
}],
}],
}],
refreshCadences: [{
frequency: "SYNCHRONOUS",
}],
}});
import pulumi
import pulumi_aws as aws
test = aws.bcmdata.Export("test", export={
"name": "testexample",
"data_queries": [{
"query_statement": "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
"table_configurations": {
"COST_AND_USAGE_REPORT": {
"TIME_GRANULARITY": "HOURLY",
"INCLUDE_RESOURCES": "FALSE",
"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE",
"INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE",
},
},
}],
"destination_configurations": [{
"s3_destinations": [{
"s3_bucket": test_aws_s3_bucket["bucket"],
"s3_prefix": test_aws_s3_bucket["bucketPrefix"],
"s3_region": test_aws_s3_bucket["region"],
"s3_output_configurations": [{
"overwrite": "OVERWRITE_REPORT",
"format": "TEXT_OR_CSV",
"compression": "GZIP",
"output_type": "CUSTOM",
}],
}],
}],
"refresh_cadences": [{
"frequency": "SYNCHRONOUS",
}],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.BcmData.Export("test", new()
{
ExportDetails = new Aws.BcmData.Inputs.ExportExportArgs
{
Name = "testexample",
DataQueries = new[]
{
new Aws.BcmData.Inputs.ExportExportDataQueryArgs
{
QueryStatement = "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
TableConfigurations =
{
{ "COST_AND_USAGE_REPORT",
{
{ "TIME_GRANULARITY", "HOURLY" },
{ "INCLUDE_RESOURCES", "FALSE" },
{ "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY", "FALSE" },
{ "INCLUDE_SPLIT_COST_ALLOCATION_DATA", "FALSE" },
} },
},
},
},
DestinationConfigurations = new[]
{
new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs
{
S3Destinations = new[]
{
new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs
{
S3Bucket = testAwsS3Bucket.Bucket,
S3Prefix = testAwsS3Bucket.BucketPrefix,
S3Region = testAwsS3Bucket.Region,
S3OutputConfigurations = new[]
{
new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs
{
Overwrite = "OVERWRITE_REPORT",
Format = "TEXT_OR_CSV",
Compression = "GZIP",
OutputType = "CUSTOM",
},
},
},
},
},
},
RefreshCadences = new[]
{
new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs
{
Frequency = "SYNCHRONOUS",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := bcmdata.NewExport(ctx, "test", &bcmdata.ExportArgs{
Export: &bcmdata.ExportExportArgs{
Name: pulumi.String("testexample"),
DataQueries: bcmdata.ExportExportDataQueryArray{
&bcmdata.ExportExportDataQueryArgs{
QueryStatement: pulumi.String("SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT"),
TableConfigurations: pulumi.StringMapMap{
"COST_AND_USAGE_REPORT": pulumi.StringMap{
"TIME_GRANULARITY": pulumi.String("HOURLY"),
"INCLUDE_RESOURCES": pulumi.String("FALSE"),
"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": pulumi.String("FALSE"),
"INCLUDE_SPLIT_COST_ALLOCATION_DATA": pulumi.String("FALSE"),
},
},
},
},
DestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{
&bcmdata.ExportExportDestinationConfigurationArgs{
S3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{
&bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{
S3Bucket: pulumi.Any(testAwsS3Bucket.Bucket),
S3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix),
S3Region: pulumi.Any(testAwsS3Bucket.Region),
S3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{
&bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{
Overwrite: pulumi.String("OVERWRITE_REPORT"),
Format: pulumi.String("TEXT_OR_CSV"),
Compression: pulumi.String("GZIP"),
OutputType: pulumi.String("CUSTOM"),
},
},
},
},
},
},
RefreshCadences: bcmdata.ExportExportRefreshCadenceArray{
&bcmdata.ExportExportRefreshCadenceArgs{
Frequency: pulumi.String("SYNCHRONOUS"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.bcmdata.Export;
import com.pulumi.aws.bcmdata.ExportArgs;
import com.pulumi.aws.bcmdata.inputs.ExportExportArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var test = new Export("test", ExportArgs.builder()
.export(ExportExportArgs.builder()
.name("testexample")
.dataQueries(ExportExportDataQueryArgs.builder()
.queryStatement("SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT")
.tableConfigurations(Map.of("COST_AND_USAGE_REPORT", Map.ofEntries(
Map.entry("TIME_GRANULARITY", "HOURLY"),
Map.entry("INCLUDE_RESOURCES", "FALSE"),
Map.entry("INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY", "FALSE"),
Map.entry("INCLUDE_SPLIT_COST_ALLOCATION_DATA", "FALSE")
)))
.build())
.destinationConfigurations(ExportExportDestinationConfigurationArgs.builder()
.s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder()
.s3Bucket(testAwsS3Bucket.bucket())
.s3Prefix(testAwsS3Bucket.bucketPrefix())
.s3Region(testAwsS3Bucket.region())
.s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder()
.overwrite("OVERWRITE_REPORT")
.format("TEXT_OR_CSV")
.compression("GZIP")
.outputType("CUSTOM")
.build())
.build())
.build())
.refreshCadences(ExportExportRefreshCadenceArgs.builder()
.frequency("SYNCHRONOUS")
.build())
.build())
.build());
}
}
resources:
test:
type: aws:bcmdata:Export
properties:
export:
name: testexample
dataQueries:
- queryStatement: SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT
tableConfigurations:
COST_AND_USAGE_REPORT:
TIME_GRANULARITY: HOURLY
INCLUDE_RESOURCES: FALSE
INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: FALSE
INCLUDE_SPLIT_COST_ALLOCATION_DATA: FALSE
destinationConfigurations:
- s3Destinations:
- s3Bucket: ${testAwsS3Bucket.bucket}
s3Prefix: ${testAwsS3Bucket.bucketPrefix}
s3Region: ${testAwsS3Bucket.region}
s3OutputConfigurations:
- overwrite: OVERWRITE_REPORT
format: TEXT_OR_CSV
compression: GZIP
outputType: CUSTOM
refreshCadences:
- frequency: SYNCHRONOUS

Import

Using pulumi import, import BCM Data Exports Export using the export ARN. For example:

$ pulumi import aws:bcmdata/export:Export example arn:aws:bcm-data-exports:us-east-1:123456789012:export/CostUsageReport-9f1c75f3-f982-4d9a-b936-1e7ecab814b7

Constructors

Link copied to clipboard
constructor(export: Output<ExportExportArgs>? = null, tags: Output<Map<String, String>>? = null, timeouts: Output<ExportTimeoutsArgs>? = null)

Properties

Link copied to clipboard
val export: Output<ExportExportArgs>? = null

The details of the export, including data query, name, description, and destination configuration. See the export argument reference below.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null
Link copied to clipboard
val timeouts: Output<ExportTimeoutsArgs>? = null

Functions

Link copied to clipboard
open override fun toJava(): ExportArgs