github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/s3/getBucketPolicy.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 s3 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 // The bucket policy data source returns IAM policy of an S3 bucket. 15 // 16 // ## Example Usage 17 // 18 // The following example retrieves IAM policy of a specified S3 bucket. 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // example, err := s3.LookupBucketPolicy(ctx, &s3.LookupBucketPolicyArgs{ 34 // Bucket: "example-bucket-name", 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // ctx.Export("foo", example.Policy) 40 // return nil 41 // }) 42 // } 43 // 44 // ``` 45 // <!--End PulumiCodeChooser --> 46 func LookupBucketPolicy(ctx *pulumi.Context, args *LookupBucketPolicyArgs, opts ...pulumi.InvokeOption) (*LookupBucketPolicyResult, error) { 47 opts = internal.PkgInvokeDefaultOpts(opts) 48 var rv LookupBucketPolicyResult 49 err := ctx.Invoke("aws:s3/getBucketPolicy:getBucketPolicy", args, &rv, opts...) 50 if err != nil { 51 return nil, err 52 } 53 return &rv, nil 54 } 55 56 // A collection of arguments for invoking getBucketPolicy. 57 type LookupBucketPolicyArgs struct { 58 // Bucket name. 59 Bucket string `pulumi:"bucket"` 60 } 61 62 // A collection of values returned by getBucketPolicy. 63 type LookupBucketPolicyResult struct { 64 Bucket string `pulumi:"bucket"` 65 // The provider-assigned unique ID for this managed resource. 66 Id string `pulumi:"id"` 67 // IAM bucket policy. 68 Policy string `pulumi:"policy"` 69 } 70 71 func LookupBucketPolicyOutput(ctx *pulumi.Context, args LookupBucketPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupBucketPolicyResultOutput { 72 return pulumi.ToOutputWithContext(context.Background(), args). 73 ApplyT(func(v interface{}) (LookupBucketPolicyResult, error) { 74 args := v.(LookupBucketPolicyArgs) 75 r, err := LookupBucketPolicy(ctx, &args, opts...) 76 var s LookupBucketPolicyResult 77 if r != nil { 78 s = *r 79 } 80 return s, err 81 }).(LookupBucketPolicyResultOutput) 82 } 83 84 // A collection of arguments for invoking getBucketPolicy. 85 type LookupBucketPolicyOutputArgs struct { 86 // Bucket name. 87 Bucket pulumi.StringInput `pulumi:"bucket"` 88 } 89 90 func (LookupBucketPolicyOutputArgs) ElementType() reflect.Type { 91 return reflect.TypeOf((*LookupBucketPolicyArgs)(nil)).Elem() 92 } 93 94 // A collection of values returned by getBucketPolicy. 95 type LookupBucketPolicyResultOutput struct{ *pulumi.OutputState } 96 97 func (LookupBucketPolicyResultOutput) ElementType() reflect.Type { 98 return reflect.TypeOf((*LookupBucketPolicyResult)(nil)).Elem() 99 } 100 101 func (o LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutput() LookupBucketPolicyResultOutput { 102 return o 103 } 104 105 func (o LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutputWithContext(ctx context.Context) LookupBucketPolicyResultOutput { 106 return o 107 } 108 109 func (o LookupBucketPolicyResultOutput) Bucket() pulumi.StringOutput { 110 return o.ApplyT(func(v LookupBucketPolicyResult) string { return v.Bucket }).(pulumi.StringOutput) 111 } 112 113 // The provider-assigned unique ID for this managed resource. 114 func (o LookupBucketPolicyResultOutput) Id() pulumi.StringOutput { 115 return o.ApplyT(func(v LookupBucketPolicyResult) string { return v.Id }).(pulumi.StringOutput) 116 } 117 118 // IAM bucket policy. 119 func (o LookupBucketPolicyResultOutput) Policy() pulumi.StringOutput { 120 return o.ApplyT(func(v LookupBucketPolicyResult) string { return v.Policy }).(pulumi.StringOutput) 121 } 122 123 func init() { 124 pulumi.RegisterOutputType(LookupBucketPolicyResultOutput{}) 125 }