github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cloudfront/getResponseHeadersPolicy.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 retrieve information about a CloudFront cache policy. 15 // 16 // ## Example Usage 17 // 18 // ### Basic Usage 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.LookupResponseHeadersPolicy(ctx, &cloudfront.LookupResponseHeadersPolicyArgs{ 34 // Name: pulumi.StringRef("example-policy"), 35 // }, nil) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ### AWS-Managed Policies 47 // 48 // AWS managed response header policy names are prefixed with `Managed-`: 49 // 50 // <!--Start PulumiCodeChooser --> 51 // ```go 52 // package main 53 // 54 // import ( 55 // 56 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront" 57 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 58 // 59 // ) 60 // 61 // func main() { 62 // pulumi.Run(func(ctx *pulumi.Context) error { 63 // _, err := cloudfront.LookupResponseHeadersPolicy(ctx, &cloudfront.LookupResponseHeadersPolicyArgs{ 64 // Name: pulumi.StringRef("Managed-SimpleCORS"), 65 // }, nil) 66 // if err != nil { 67 // return err 68 // } 69 // return nil 70 // }) 71 // } 72 // 73 // ``` 74 // <!--End PulumiCodeChooser --> 75 func LookupResponseHeadersPolicy(ctx *pulumi.Context, args *LookupResponseHeadersPolicyArgs, opts ...pulumi.InvokeOption) (*LookupResponseHeadersPolicyResult, error) { 76 opts = internal.PkgInvokeDefaultOpts(opts) 77 var rv LookupResponseHeadersPolicyResult 78 err := ctx.Invoke("aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy", args, &rv, opts...) 79 if err != nil { 80 return nil, err 81 } 82 return &rv, nil 83 } 84 85 // A collection of arguments for invoking getResponseHeadersPolicy. 86 type LookupResponseHeadersPolicyArgs struct { 87 // Identifier for the response headers policy. 88 Id *string `pulumi:"id"` 89 // Unique name to identify the response headers policy. 90 Name *string `pulumi:"name"` 91 } 92 93 // A collection of values returned by getResponseHeadersPolicy. 94 type LookupResponseHeadersPolicyResult struct { 95 // Comment to describe the response headers policy. The comment cannot be longer than 128 characters. 96 Comment string `pulumi:"comment"` 97 // Configuration for a set of HTTP response headers that are used for Cross-Origin Resource Sharing (CORS). See Cors Config for more information. 98 CorsConfigs []GetResponseHeadersPolicyCorsConfig `pulumi:"corsConfigs"` 99 // Object that contains an attribute `items` that contains a list of Custom Headers. See Custom Header for more information. 100 CustomHeadersConfigs []GetResponseHeadersPolicyCustomHeadersConfig `pulumi:"customHeadersConfigs"` 101 // Current version of the response headers policy. 102 Etag string `pulumi:"etag"` 103 Id string `pulumi:"id"` 104 Name string `pulumi:"name"` 105 // Object that contains an attribute `items` that contains a list of Remove Headers. See Remove Header for more information. 106 RemoveHeadersConfigs []GetResponseHeadersPolicyRemoveHeadersConfig `pulumi:"removeHeadersConfigs"` 107 // A configuration for a set of security-related HTTP response headers. See Security Headers Config for more information. 108 SecurityHeadersConfigs []GetResponseHeadersPolicySecurityHeadersConfig `pulumi:"securityHeadersConfigs"` 109 // (Optional) Configuration for enabling the Server-Timing header in HTTP responses sent from CloudFront. See Server Timing Headers Config for more information. 110 ServerTimingHeadersConfigs []GetResponseHeadersPolicyServerTimingHeadersConfig `pulumi:"serverTimingHeadersConfigs"` 111 } 112 113 func LookupResponseHeadersPolicyOutput(ctx *pulumi.Context, args LookupResponseHeadersPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupResponseHeadersPolicyResultOutput { 114 return pulumi.ToOutputWithContext(context.Background(), args). 115 ApplyT(func(v interface{}) (LookupResponseHeadersPolicyResult, error) { 116 args := v.(LookupResponseHeadersPolicyArgs) 117 r, err := LookupResponseHeadersPolicy(ctx, &args, opts...) 118 var s LookupResponseHeadersPolicyResult 119 if r != nil { 120 s = *r 121 } 122 return s, err 123 }).(LookupResponseHeadersPolicyResultOutput) 124 } 125 126 // A collection of arguments for invoking getResponseHeadersPolicy. 127 type LookupResponseHeadersPolicyOutputArgs struct { 128 // Identifier for the response headers policy. 129 Id pulumi.StringPtrInput `pulumi:"id"` 130 // Unique name to identify the response headers policy. 131 Name pulumi.StringPtrInput `pulumi:"name"` 132 } 133 134 func (LookupResponseHeadersPolicyOutputArgs) ElementType() reflect.Type { 135 return reflect.TypeOf((*LookupResponseHeadersPolicyArgs)(nil)).Elem() 136 } 137 138 // A collection of values returned by getResponseHeadersPolicy. 139 type LookupResponseHeadersPolicyResultOutput struct{ *pulumi.OutputState } 140 141 func (LookupResponseHeadersPolicyResultOutput) ElementType() reflect.Type { 142 return reflect.TypeOf((*LookupResponseHeadersPolicyResult)(nil)).Elem() 143 } 144 145 func (o LookupResponseHeadersPolicyResultOutput) ToLookupResponseHeadersPolicyResultOutput() LookupResponseHeadersPolicyResultOutput { 146 return o 147 } 148 149 func (o LookupResponseHeadersPolicyResultOutput) ToLookupResponseHeadersPolicyResultOutputWithContext(ctx context.Context) LookupResponseHeadersPolicyResultOutput { 150 return o 151 } 152 153 // Comment to describe the response headers policy. The comment cannot be longer than 128 characters. 154 func (o LookupResponseHeadersPolicyResultOutput) Comment() pulumi.StringOutput { 155 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) string { return v.Comment }).(pulumi.StringOutput) 156 } 157 158 // Configuration for a set of HTTP response headers that are used for Cross-Origin Resource Sharing (CORS). See Cors Config for more information. 159 func (o LookupResponseHeadersPolicyResultOutput) CorsConfigs() GetResponseHeadersPolicyCorsConfigArrayOutput { 160 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) []GetResponseHeadersPolicyCorsConfig { return v.CorsConfigs }).(GetResponseHeadersPolicyCorsConfigArrayOutput) 161 } 162 163 // Object that contains an attribute `items` that contains a list of Custom Headers. See Custom Header for more information. 164 func (o LookupResponseHeadersPolicyResultOutput) CustomHeadersConfigs() GetResponseHeadersPolicyCustomHeadersConfigArrayOutput { 165 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) []GetResponseHeadersPolicyCustomHeadersConfig { 166 return v.CustomHeadersConfigs 167 }).(GetResponseHeadersPolicyCustomHeadersConfigArrayOutput) 168 } 169 170 // Current version of the response headers policy. 171 func (o LookupResponseHeadersPolicyResultOutput) Etag() pulumi.StringOutput { 172 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) string { return v.Etag }).(pulumi.StringOutput) 173 } 174 175 func (o LookupResponseHeadersPolicyResultOutput) Id() pulumi.StringOutput { 176 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) string { return v.Id }).(pulumi.StringOutput) 177 } 178 179 func (o LookupResponseHeadersPolicyResultOutput) Name() pulumi.StringOutput { 180 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) string { return v.Name }).(pulumi.StringOutput) 181 } 182 183 // Object that contains an attribute `items` that contains a list of Remove Headers. See Remove Header for more information. 184 func (o LookupResponseHeadersPolicyResultOutput) RemoveHeadersConfigs() GetResponseHeadersPolicyRemoveHeadersConfigArrayOutput { 185 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) []GetResponseHeadersPolicyRemoveHeadersConfig { 186 return v.RemoveHeadersConfigs 187 }).(GetResponseHeadersPolicyRemoveHeadersConfigArrayOutput) 188 } 189 190 // A configuration for a set of security-related HTTP response headers. See Security Headers Config for more information. 191 func (o LookupResponseHeadersPolicyResultOutput) SecurityHeadersConfigs() GetResponseHeadersPolicySecurityHeadersConfigArrayOutput { 192 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) []GetResponseHeadersPolicySecurityHeadersConfig { 193 return v.SecurityHeadersConfigs 194 }).(GetResponseHeadersPolicySecurityHeadersConfigArrayOutput) 195 } 196 197 // (Optional) Configuration for enabling the Server-Timing header in HTTP responses sent from CloudFront. See Server Timing Headers Config for more information. 198 func (o LookupResponseHeadersPolicyResultOutput) ServerTimingHeadersConfigs() GetResponseHeadersPolicyServerTimingHeadersConfigArrayOutput { 199 return o.ApplyT(func(v LookupResponseHeadersPolicyResult) []GetResponseHeadersPolicyServerTimingHeadersConfig { 200 return v.ServerTimingHeadersConfigs 201 }).(GetResponseHeadersPolicyServerTimingHeadersConfigArrayOutput) 202 } 203 204 func init() { 205 pulumi.RegisterOutputType(LookupResponseHeadersPolicyResultOutput{}) 206 }