github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cloudfront/getOriginAccessIdentities.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 cloudfront
     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 ARNs, ids and S3 canonical user IDs of Amazon CloudFront origin access identities.
    15  //
    16  // ## Example Usage
    17  //
    18  // ### All origin access identities in the account
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := cloudfront.GetOriginAccessIdentities(ctx, nil, nil)
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  //
    44  // ### Origin access identities filtered by comment/name
    45  //
    46  // Origin access identities whose comments are `example-comment1`, `example-comment2`
    47  //
    48  // <!--Start PulumiCodeChooser -->
    49  // ```go
    50  // package main
    51  //
    52  // import (
    53  //
    54  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront"
    55  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    56  //
    57  // )
    58  //
    59  //	func main() {
    60  //		pulumi.Run(func(ctx *pulumi.Context) error {
    61  //			_, err := cloudfront.GetOriginAccessIdentities(ctx, &cloudfront.GetOriginAccessIdentitiesArgs{
    62  //				Comments: []string{
    63  //					"example-comment1",
    64  //					"example-comment2",
    65  //				},
    66  //			}, nil)
    67  //			if err != nil {
    68  //				return err
    69  //			}
    70  //			return nil
    71  //		})
    72  //	}
    73  //
    74  // ```
    75  // <!--End PulumiCodeChooser -->
    76  func GetOriginAccessIdentities(ctx *pulumi.Context, args *GetOriginAccessIdentitiesArgs, opts ...pulumi.InvokeOption) (*GetOriginAccessIdentitiesResult, error) {
    77  	opts = internal.PkgInvokeDefaultOpts(opts)
    78  	var rv GetOriginAccessIdentitiesResult
    79  	err := ctx.Invoke("aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities", args, &rv, opts...)
    80  	if err != nil {
    81  		return nil, err
    82  	}
    83  	return &rv, nil
    84  }
    85  
    86  // A collection of arguments for invoking getOriginAccessIdentities.
    87  type GetOriginAccessIdentitiesArgs struct {
    88  	// Filter origin access identities by comment.
    89  	Comments []string `pulumi:"comments"`
    90  }
    91  
    92  // A collection of values returned by getOriginAccessIdentities.
    93  type GetOriginAccessIdentitiesResult struct {
    94  	Comments []string `pulumi:"comments"`
    95  	// Set of ARNs of the matched origin access identities.
    96  	IamArns []string `pulumi:"iamArns"`
    97  	// The provider-assigned unique ID for this managed resource.
    98  	Id string `pulumi:"id"`
    99  	// Set of ids of the matched origin access identities.
   100  	Ids []string `pulumi:"ids"`
   101  	// Set of S3 canonical user IDs of the matched origin access identities.
   102  	S3CanonicalUserIds []string `pulumi:"s3CanonicalUserIds"`
   103  }
   104  
   105  func GetOriginAccessIdentitiesOutput(ctx *pulumi.Context, args GetOriginAccessIdentitiesOutputArgs, opts ...pulumi.InvokeOption) GetOriginAccessIdentitiesResultOutput {
   106  	return pulumi.ToOutputWithContext(context.Background(), args).
   107  		ApplyT(func(v interface{}) (GetOriginAccessIdentitiesResult, error) {
   108  			args := v.(GetOriginAccessIdentitiesArgs)
   109  			r, err := GetOriginAccessIdentities(ctx, &args, opts...)
   110  			var s GetOriginAccessIdentitiesResult
   111  			if r != nil {
   112  				s = *r
   113  			}
   114  			return s, err
   115  		}).(GetOriginAccessIdentitiesResultOutput)
   116  }
   117  
   118  // A collection of arguments for invoking getOriginAccessIdentities.
   119  type GetOriginAccessIdentitiesOutputArgs struct {
   120  	// Filter origin access identities by comment.
   121  	Comments pulumi.StringArrayInput `pulumi:"comments"`
   122  }
   123  
   124  func (GetOriginAccessIdentitiesOutputArgs) ElementType() reflect.Type {
   125  	return reflect.TypeOf((*GetOriginAccessIdentitiesArgs)(nil)).Elem()
   126  }
   127  
   128  // A collection of values returned by getOriginAccessIdentities.
   129  type GetOriginAccessIdentitiesResultOutput struct{ *pulumi.OutputState }
   130  
   131  func (GetOriginAccessIdentitiesResultOutput) ElementType() reflect.Type {
   132  	return reflect.TypeOf((*GetOriginAccessIdentitiesResult)(nil)).Elem()
   133  }
   134  
   135  func (o GetOriginAccessIdentitiesResultOutput) ToGetOriginAccessIdentitiesResultOutput() GetOriginAccessIdentitiesResultOutput {
   136  	return o
   137  }
   138  
   139  func (o GetOriginAccessIdentitiesResultOutput) ToGetOriginAccessIdentitiesResultOutputWithContext(ctx context.Context) GetOriginAccessIdentitiesResultOutput {
   140  	return o
   141  }
   142  
   143  func (o GetOriginAccessIdentitiesResultOutput) Comments() pulumi.StringArrayOutput {
   144  	return o.ApplyT(func(v GetOriginAccessIdentitiesResult) []string { return v.Comments }).(pulumi.StringArrayOutput)
   145  }
   146  
   147  // Set of ARNs of the matched origin access identities.
   148  func (o GetOriginAccessIdentitiesResultOutput) IamArns() pulumi.StringArrayOutput {
   149  	return o.ApplyT(func(v GetOriginAccessIdentitiesResult) []string { return v.IamArns }).(pulumi.StringArrayOutput)
   150  }
   151  
   152  // The provider-assigned unique ID for this managed resource.
   153  func (o GetOriginAccessIdentitiesResultOutput) Id() pulumi.StringOutput {
   154  	return o.ApplyT(func(v GetOriginAccessIdentitiesResult) string { return v.Id }).(pulumi.StringOutput)
   155  }
   156  
   157  // Set of ids of the matched origin access identities.
   158  func (o GetOriginAccessIdentitiesResultOutput) Ids() pulumi.StringArrayOutput {
   159  	return o.ApplyT(func(v GetOriginAccessIdentitiesResult) []string { return v.Ids }).(pulumi.StringArrayOutput)
   160  }
   161  
   162  // Set of S3 canonical user IDs of the matched origin access identities.
   163  func (o GetOriginAccessIdentitiesResultOutput) S3CanonicalUserIds() pulumi.StringArrayOutput {
   164  	return o.ApplyT(func(v GetOriginAccessIdentitiesResult) []string { return v.S3CanonicalUserIds }).(pulumi.StringArrayOutput)
   165  }
   166  
   167  func init() {
   168  	pulumi.RegisterOutputType(GetOriginAccessIdentitiesResultOutput{})
   169  }