github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cur/getReportDefinition.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package cur
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Use this data source to get information on an AWS Cost and Usage Report Definition.
    15  //
    16  // > *NOTE:* The AWS Cost and Usage Report service is only available in `us-east-1` currently.
    17  //
    18  // > *NOTE:* If AWS Organizations is enabled, only the master account can use this resource.
    19  //
    20  // ## Example Usage
    21  //
    22  // <!--Start PulumiCodeChooser -->
    23  // ```go
    24  // package main
    25  //
    26  // import (
    27  //
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cur"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			_, err := cur.LookupReportDefinition(ctx, &cur.LookupReportDefinitionArgs{
    36  //				ReportName: "example",
    37  //			}, nil)
    38  //			if err != nil {
    39  //				return err
    40  //			}
    41  //			return nil
    42  //		})
    43  //	}
    44  //
    45  // ```
    46  // <!--End PulumiCodeChooser -->
    47  func LookupReportDefinition(ctx *pulumi.Context, args *LookupReportDefinitionArgs, opts ...pulumi.InvokeOption) (*LookupReportDefinitionResult, error) {
    48  	opts = internal.PkgInvokeDefaultOpts(opts)
    49  	var rv LookupReportDefinitionResult
    50  	err := ctx.Invoke("aws:cur/getReportDefinition:getReportDefinition", args, &rv, opts...)
    51  	if err != nil {
    52  		return nil, err
    53  	}
    54  	return &rv, nil
    55  }
    56  
    57  // A collection of arguments for invoking getReportDefinition.
    58  type LookupReportDefinitionArgs struct {
    59  	// Name of the report definition to match.
    60  	ReportName string `pulumi:"reportName"`
    61  }
    62  
    63  // A collection of values returned by getReportDefinition.
    64  type LookupReportDefinitionResult struct {
    65  	// A list of additional artifacts.
    66  	AdditionalArtifacts []string `pulumi:"additionalArtifacts"`
    67  	// A list of schema elements.
    68  	AdditionalSchemaElements []string `pulumi:"additionalSchemaElements"`
    69  	// Preferred format for report.
    70  	Compression string `pulumi:"compression"`
    71  	// Preferred compression format for report.
    72  	Format string `pulumi:"format"`
    73  	// The provider-assigned unique ID for this managed resource.
    74  	Id string `pulumi:"id"`
    75  	// If true reports are updated after they have been finalized.
    76  	RefreshClosedReports bool   `pulumi:"refreshClosedReports"`
    77  	ReportName           string `pulumi:"reportName"`
    78  	// Overwrite the previous version of each report or to deliver the report in addition to the previous versions.
    79  	ReportVersioning string `pulumi:"reportVersioning"`
    80  	// Name of customer S3 bucket.
    81  	S3Bucket string `pulumi:"s3Bucket"`
    82  	// Preferred report path prefix.
    83  	S3Prefix string `pulumi:"s3Prefix"`
    84  	// Region of customer S3 bucket.
    85  	S3Region string `pulumi:"s3Region"`
    86  	// Frequency on which report data are measured and displayed.
    87  	TimeUnit string `pulumi:"timeUnit"`
    88  }
    89  
    90  func LookupReportDefinitionOutput(ctx *pulumi.Context, args LookupReportDefinitionOutputArgs, opts ...pulumi.InvokeOption) LookupReportDefinitionResultOutput {
    91  	return pulumi.ToOutputWithContext(context.Background(), args).
    92  		ApplyT(func(v interface{}) (LookupReportDefinitionResult, error) {
    93  			args := v.(LookupReportDefinitionArgs)
    94  			r, err := LookupReportDefinition(ctx, &args, opts...)
    95  			var s LookupReportDefinitionResult
    96  			if r != nil {
    97  				s = *r
    98  			}
    99  			return s, err
   100  		}).(LookupReportDefinitionResultOutput)
   101  }
   102  
   103  // A collection of arguments for invoking getReportDefinition.
   104  type LookupReportDefinitionOutputArgs struct {
   105  	// Name of the report definition to match.
   106  	ReportName pulumi.StringInput `pulumi:"reportName"`
   107  }
   108  
   109  func (LookupReportDefinitionOutputArgs) ElementType() reflect.Type {
   110  	return reflect.TypeOf((*LookupReportDefinitionArgs)(nil)).Elem()
   111  }
   112  
   113  // A collection of values returned by getReportDefinition.
   114  type LookupReportDefinitionResultOutput struct{ *pulumi.OutputState }
   115  
   116  func (LookupReportDefinitionResultOutput) ElementType() reflect.Type {
   117  	return reflect.TypeOf((*LookupReportDefinitionResult)(nil)).Elem()
   118  }
   119  
   120  func (o LookupReportDefinitionResultOutput) ToLookupReportDefinitionResultOutput() LookupReportDefinitionResultOutput {
   121  	return o
   122  }
   123  
   124  func (o LookupReportDefinitionResultOutput) ToLookupReportDefinitionResultOutputWithContext(ctx context.Context) LookupReportDefinitionResultOutput {
   125  	return o
   126  }
   127  
   128  // A list of additional artifacts.
   129  func (o LookupReportDefinitionResultOutput) AdditionalArtifacts() pulumi.StringArrayOutput {
   130  	return o.ApplyT(func(v LookupReportDefinitionResult) []string { return v.AdditionalArtifacts }).(pulumi.StringArrayOutput)
   131  }
   132  
   133  // A list of schema elements.
   134  func (o LookupReportDefinitionResultOutput) AdditionalSchemaElements() pulumi.StringArrayOutput {
   135  	return o.ApplyT(func(v LookupReportDefinitionResult) []string { return v.AdditionalSchemaElements }).(pulumi.StringArrayOutput)
   136  }
   137  
   138  // Preferred format for report.
   139  func (o LookupReportDefinitionResultOutput) Compression() pulumi.StringOutput {
   140  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.Compression }).(pulumi.StringOutput)
   141  }
   142  
   143  // Preferred compression format for report.
   144  func (o LookupReportDefinitionResultOutput) Format() pulumi.StringOutput {
   145  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.Format }).(pulumi.StringOutput)
   146  }
   147  
   148  // The provider-assigned unique ID for this managed resource.
   149  func (o LookupReportDefinitionResultOutput) Id() pulumi.StringOutput {
   150  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.Id }).(pulumi.StringOutput)
   151  }
   152  
   153  // If true reports are updated after they have been finalized.
   154  func (o LookupReportDefinitionResultOutput) RefreshClosedReports() pulumi.BoolOutput {
   155  	return o.ApplyT(func(v LookupReportDefinitionResult) bool { return v.RefreshClosedReports }).(pulumi.BoolOutput)
   156  }
   157  
   158  func (o LookupReportDefinitionResultOutput) ReportName() pulumi.StringOutput {
   159  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.ReportName }).(pulumi.StringOutput)
   160  }
   161  
   162  // Overwrite the previous version of each report or to deliver the report in addition to the previous versions.
   163  func (o LookupReportDefinitionResultOutput) ReportVersioning() pulumi.StringOutput {
   164  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.ReportVersioning }).(pulumi.StringOutput)
   165  }
   166  
   167  // Name of customer S3 bucket.
   168  func (o LookupReportDefinitionResultOutput) S3Bucket() pulumi.StringOutput {
   169  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.S3Bucket }).(pulumi.StringOutput)
   170  }
   171  
   172  // Preferred report path prefix.
   173  func (o LookupReportDefinitionResultOutput) S3Prefix() pulumi.StringOutput {
   174  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.S3Prefix }).(pulumi.StringOutput)
   175  }
   176  
   177  // Region of customer S3 bucket.
   178  func (o LookupReportDefinitionResultOutput) S3Region() pulumi.StringOutput {
   179  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.S3Region }).(pulumi.StringOutput)
   180  }
   181  
   182  // Frequency on which report data are measured and displayed.
   183  func (o LookupReportDefinitionResultOutput) TimeUnit() pulumi.StringOutput {
   184  	return o.ApplyT(func(v LookupReportDefinitionResult) string { return v.TimeUnit }).(pulumi.StringOutput)
   185  }
   186  
   187  func init() {
   188  	pulumi.RegisterOutputType(LookupReportDefinitionResultOutput{})
   189  }