Class ReportDefinition


  • public class ReportDefinition
    extends com.pulumi.resources.CustomResource
    Manages Cost and Usage Report Definitions. > *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently. ## Example Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cur.ReportDefinition;
     import com.pulumi.aws.cur.ReportDefinitionArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 exampleCurReportDefinition = new ReportDefinition("exampleCurReportDefinition", ReportDefinitionArgs.builder()
                 .reportName("example-cur-report-definition")
                 .timeUnit("HOURLY")
                 .format("textORcsv")
                 .compression("GZIP")
                 .additionalSchemaElements(            
                     "RESOURCES",
                     "SPLIT_COST_ALLOCATION_DATA")
                 .s3Bucket("example-bucket-name")
                 .s3Prefix("example-cur-report")
                 .s3Region("us-east-1")
                 .additionalArtifacts(            
                     "REDSHIFT",
                     "QUICKSIGHT")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import Report Definitions using the `reportName`. For example: ```sh $ pulumi import aws:cur/reportDefinition:ReportDefinition example_cur_report_definition example-cur-report-definition ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> additionalArtifacts()  
      com.pulumi.core.Output<java.util.List<java.lang.String>> additionalSchemaElements()  
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.lang.String> compression()  
      com.pulumi.core.Output<java.lang.String> format()  
      static ReportDefinition get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ReportDefinitionState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> refreshClosedReports()  
      com.pulumi.core.Output<java.lang.String> reportName()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> reportVersioning()  
      com.pulumi.core.Output<java.lang.String> s3Bucket()  
      com.pulumi.core.Output<java.lang.String> s3Prefix()  
      com.pulumi.core.Output<java.lang.String> s3Region()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      com.pulumi.core.Output<java.lang.String> timeUnit()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReportDefinition

        public ReportDefinition​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • ReportDefinition

        public ReportDefinition​(java.lang.String name,
                                ReportDefinitionArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • ReportDefinition

        public ReportDefinition​(java.lang.String name,
                                ReportDefinitionArgs args,
                                @Nullable
                                com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • additionalArtifacts

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> additionalArtifacts()
        Returns:
        A list of additional artifacts. Valid values are: `REDSHIFT`, `QUICKSIGHT`, `ATHENA`. When ATHENA exists within additional_artifacts, no other artifact type can be declared and reportVersioning must be `OVERWRITE_REPORT`.
      • additionalSchemaElements

        public com.pulumi.core.Output<java.util.List<java.lang.String>> additionalSchemaElements()
        Returns:
        A list of schema elements. Valid values are: `RESOURCES`, `SPLIT_COST_ALLOCATION_DATA`, `MANUAL_DISCOUNT_COMPATIBILITY`.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN specifying the cur report.
      • compression

        public com.pulumi.core.Output<java.lang.String> compression()
        Returns:
        Compression format for report. Valid values are: `GZIP`, `ZIP`, `Parquet`. If `Parquet` is used, then format must also be `Parquet`.
      • format

        public com.pulumi.core.Output<java.lang.String> format()
        Returns:
        Format for report. Valid values are: `textORcsv`, `Parquet`. If `Parquet` is used, then Compression must also be `Parquet`.
      • refreshClosedReports

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> refreshClosedReports()
        Returns:
        Set to true to update your reports after they have been finalized if AWS detects charges related to previous months.
      • reportName

        public com.pulumi.core.Output<java.lang.String> reportName()
        Returns:
        Unique name for the report. Must start with a number/letter and is case sensitive. Limited to 256 characters.
      • reportVersioning

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> reportVersioning()
        Returns:
        Overwrite the previous version of each report or to deliver the report in addition to the previous versions. Valid values are: `CREATE_NEW_REPORT` and `OVERWRITE_REPORT`.
      • s3Bucket

        public com.pulumi.core.Output<java.lang.String> s3Bucket()
        Returns:
        Name of the existing S3 bucket to hold generated reports.
      • s3Prefix

        public com.pulumi.core.Output<java.lang.String> s3Prefix()
        Returns:
        Report path prefix. Limited to 256 characters. May be empty (`""`) but the resource can then not be modified via the AWS Console.
      • s3Region

        public com.pulumi.core.Output<java.lang.String> s3Region()
        Returns:
        Region of the existing S3 bucket to hold generated reports.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value pairs of resource tags to assign to the DataSync Location. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • timeUnit

        public com.pulumi.core.Output<java.lang.String> timeUnit()
        Returns:
        The frequency on which report data are measured and displayed. Valid values are: `DAILY`, `HOURLY`, `MONTHLY`.
      • get

        public static ReportDefinition get​(java.lang.String name,
                                           com.pulumi.core.Output<java.lang.String> id,
                                           @Nullable
                                           ReportDefinitionState state,
                                           @Nullable
                                           com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.