github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cloudfront/originRequestPolicy.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 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // ## Example Usage 16 // 17 // The following example below creates a CloudFront origin request policy. 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := cloudfront.NewOriginRequestPolicy(ctx, "example", &cloudfront.OriginRequestPolicyArgs{ 33 // Name: pulumi.String("example-policy"), 34 // Comment: pulumi.String("example comment"), 35 // CookiesConfig: &cloudfront.OriginRequestPolicyCookiesConfigArgs{ 36 // CookieBehavior: pulumi.String("whitelist"), 37 // Cookies: &cloudfront.OriginRequestPolicyCookiesConfigCookiesArgs{ 38 // Items: pulumi.StringArray{ 39 // pulumi.String("example"), 40 // }, 41 // }, 42 // }, 43 // HeadersConfig: &cloudfront.OriginRequestPolicyHeadersConfigArgs{ 44 // HeaderBehavior: pulumi.String("whitelist"), 45 // Headers: &cloudfront.OriginRequestPolicyHeadersConfigHeadersArgs{ 46 // Items: pulumi.StringArray{ 47 // pulumi.String("example"), 48 // }, 49 // }, 50 // }, 51 // QueryStringsConfig: &cloudfront.OriginRequestPolicyQueryStringsConfigArgs{ 52 // QueryStringBehavior: pulumi.String("whitelist"), 53 // QueryStrings: &cloudfront.OriginRequestPolicyQueryStringsConfigQueryStringsArgs{ 54 // Items: pulumi.StringArray{ 55 // pulumi.String("example"), 56 // }, 57 // }, 58 // }, 59 // }) 60 // if err != nil { 61 // return err 62 // } 63 // return nil 64 // }) 65 // } 66 // 67 // ``` 68 // <!--End PulumiCodeChooser --> 69 // 70 // ## Import 71 // 72 // Using `pulumi import`, import Cloudfront Origin Request Policies using the `id`. For example: 73 // 74 // ```sh 75 // $ pulumi import aws:cloudfront/originRequestPolicy:OriginRequestPolicy policy ccca32ef-dce3-4df3-80df-1bd3000bc4d3 76 // ``` 77 type OriginRequestPolicy struct { 78 pulumi.CustomResourceState 79 80 // Comment to describe the origin request policy. 81 Comment pulumi.StringPtrOutput `pulumi:"comment"` 82 // Object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Cookies Config for more information. 83 CookiesConfig OriginRequestPolicyCookiesConfigOutput `pulumi:"cookiesConfig"` 84 // The current version of the origin request policy. 85 Etag pulumi.StringOutput `pulumi:"etag"` 86 // Object that determines whether any HTTP headers (and if so, which headers) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Headers Config for more information. 87 HeadersConfig OriginRequestPolicyHeadersConfigOutput `pulumi:"headersConfig"` 88 // Unique name to identify the origin request policy. 89 Name pulumi.StringOutput `pulumi:"name"` 90 // Object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Query String Config for more information. 91 QueryStringsConfig OriginRequestPolicyQueryStringsConfigOutput `pulumi:"queryStringsConfig"` 92 } 93 94 // NewOriginRequestPolicy registers a new resource with the given unique name, arguments, and options. 95 func NewOriginRequestPolicy(ctx *pulumi.Context, 96 name string, args *OriginRequestPolicyArgs, opts ...pulumi.ResourceOption) (*OriginRequestPolicy, error) { 97 if args == nil { 98 return nil, errors.New("missing one or more required arguments") 99 } 100 101 if args.CookiesConfig == nil { 102 return nil, errors.New("invalid value for required argument 'CookiesConfig'") 103 } 104 if args.HeadersConfig == nil { 105 return nil, errors.New("invalid value for required argument 'HeadersConfig'") 106 } 107 if args.QueryStringsConfig == nil { 108 return nil, errors.New("invalid value for required argument 'QueryStringsConfig'") 109 } 110 opts = internal.PkgResourceDefaultOpts(opts) 111 var resource OriginRequestPolicy 112 err := ctx.RegisterResource("aws:cloudfront/originRequestPolicy:OriginRequestPolicy", name, args, &resource, opts...) 113 if err != nil { 114 return nil, err 115 } 116 return &resource, nil 117 } 118 119 // GetOriginRequestPolicy gets an existing OriginRequestPolicy resource's state with the given name, ID, and optional 120 // state properties that are used to uniquely qualify the lookup (nil if not required). 121 func GetOriginRequestPolicy(ctx *pulumi.Context, 122 name string, id pulumi.IDInput, state *OriginRequestPolicyState, opts ...pulumi.ResourceOption) (*OriginRequestPolicy, error) { 123 var resource OriginRequestPolicy 124 err := ctx.ReadResource("aws:cloudfront/originRequestPolicy:OriginRequestPolicy", name, id, state, &resource, opts...) 125 if err != nil { 126 return nil, err 127 } 128 return &resource, nil 129 } 130 131 // Input properties used for looking up and filtering OriginRequestPolicy resources. 132 type originRequestPolicyState struct { 133 // Comment to describe the origin request policy. 134 Comment *string `pulumi:"comment"` 135 // Object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Cookies Config for more information. 136 CookiesConfig *OriginRequestPolicyCookiesConfig `pulumi:"cookiesConfig"` 137 // The current version of the origin request policy. 138 Etag *string `pulumi:"etag"` 139 // Object that determines whether any HTTP headers (and if so, which headers) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Headers Config for more information. 140 HeadersConfig *OriginRequestPolicyHeadersConfig `pulumi:"headersConfig"` 141 // Unique name to identify the origin request policy. 142 Name *string `pulumi:"name"` 143 // Object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Query String Config for more information. 144 QueryStringsConfig *OriginRequestPolicyQueryStringsConfig `pulumi:"queryStringsConfig"` 145 } 146 147 type OriginRequestPolicyState struct { 148 // Comment to describe the origin request policy. 149 Comment pulumi.StringPtrInput 150 // Object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Cookies Config for more information. 151 CookiesConfig OriginRequestPolicyCookiesConfigPtrInput 152 // The current version of the origin request policy. 153 Etag pulumi.StringPtrInput 154 // Object that determines whether any HTTP headers (and if so, which headers) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Headers Config for more information. 155 HeadersConfig OriginRequestPolicyHeadersConfigPtrInput 156 // Unique name to identify the origin request policy. 157 Name pulumi.StringPtrInput 158 // Object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Query String Config for more information. 159 QueryStringsConfig OriginRequestPolicyQueryStringsConfigPtrInput 160 } 161 162 func (OriginRequestPolicyState) ElementType() reflect.Type { 163 return reflect.TypeOf((*originRequestPolicyState)(nil)).Elem() 164 } 165 166 type originRequestPolicyArgs struct { 167 // Comment to describe the origin request policy. 168 Comment *string `pulumi:"comment"` 169 // Object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Cookies Config for more information. 170 CookiesConfig OriginRequestPolicyCookiesConfig `pulumi:"cookiesConfig"` 171 // Object that determines whether any HTTP headers (and if so, which headers) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Headers Config for more information. 172 HeadersConfig OriginRequestPolicyHeadersConfig `pulumi:"headersConfig"` 173 // Unique name to identify the origin request policy. 174 Name *string `pulumi:"name"` 175 // Object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Query String Config for more information. 176 QueryStringsConfig OriginRequestPolicyQueryStringsConfig `pulumi:"queryStringsConfig"` 177 } 178 179 // The set of arguments for constructing a OriginRequestPolicy resource. 180 type OriginRequestPolicyArgs struct { 181 // Comment to describe the origin request policy. 182 Comment pulumi.StringPtrInput 183 // Object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Cookies Config for more information. 184 CookiesConfig OriginRequestPolicyCookiesConfigInput 185 // Object that determines whether any HTTP headers (and if so, which headers) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Headers Config for more information. 186 HeadersConfig OriginRequestPolicyHeadersConfigInput 187 // Unique name to identify the origin request policy. 188 Name pulumi.StringPtrInput 189 // Object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Query String Config for more information. 190 QueryStringsConfig OriginRequestPolicyQueryStringsConfigInput 191 } 192 193 func (OriginRequestPolicyArgs) ElementType() reflect.Type { 194 return reflect.TypeOf((*originRequestPolicyArgs)(nil)).Elem() 195 } 196 197 type OriginRequestPolicyInput interface { 198 pulumi.Input 199 200 ToOriginRequestPolicyOutput() OriginRequestPolicyOutput 201 ToOriginRequestPolicyOutputWithContext(ctx context.Context) OriginRequestPolicyOutput 202 } 203 204 func (*OriginRequestPolicy) ElementType() reflect.Type { 205 return reflect.TypeOf((**OriginRequestPolicy)(nil)).Elem() 206 } 207 208 func (i *OriginRequestPolicy) ToOriginRequestPolicyOutput() OriginRequestPolicyOutput { 209 return i.ToOriginRequestPolicyOutputWithContext(context.Background()) 210 } 211 212 func (i *OriginRequestPolicy) ToOriginRequestPolicyOutputWithContext(ctx context.Context) OriginRequestPolicyOutput { 213 return pulumi.ToOutputWithContext(ctx, i).(OriginRequestPolicyOutput) 214 } 215 216 // OriginRequestPolicyArrayInput is an input type that accepts OriginRequestPolicyArray and OriginRequestPolicyArrayOutput values. 217 // You can construct a concrete instance of `OriginRequestPolicyArrayInput` via: 218 // 219 // OriginRequestPolicyArray{ OriginRequestPolicyArgs{...} } 220 type OriginRequestPolicyArrayInput interface { 221 pulumi.Input 222 223 ToOriginRequestPolicyArrayOutput() OriginRequestPolicyArrayOutput 224 ToOriginRequestPolicyArrayOutputWithContext(context.Context) OriginRequestPolicyArrayOutput 225 } 226 227 type OriginRequestPolicyArray []OriginRequestPolicyInput 228 229 func (OriginRequestPolicyArray) ElementType() reflect.Type { 230 return reflect.TypeOf((*[]*OriginRequestPolicy)(nil)).Elem() 231 } 232 233 func (i OriginRequestPolicyArray) ToOriginRequestPolicyArrayOutput() OriginRequestPolicyArrayOutput { 234 return i.ToOriginRequestPolicyArrayOutputWithContext(context.Background()) 235 } 236 237 func (i OriginRequestPolicyArray) ToOriginRequestPolicyArrayOutputWithContext(ctx context.Context) OriginRequestPolicyArrayOutput { 238 return pulumi.ToOutputWithContext(ctx, i).(OriginRequestPolicyArrayOutput) 239 } 240 241 // OriginRequestPolicyMapInput is an input type that accepts OriginRequestPolicyMap and OriginRequestPolicyMapOutput values. 242 // You can construct a concrete instance of `OriginRequestPolicyMapInput` via: 243 // 244 // OriginRequestPolicyMap{ "key": OriginRequestPolicyArgs{...} } 245 type OriginRequestPolicyMapInput interface { 246 pulumi.Input 247 248 ToOriginRequestPolicyMapOutput() OriginRequestPolicyMapOutput 249 ToOriginRequestPolicyMapOutputWithContext(context.Context) OriginRequestPolicyMapOutput 250 } 251 252 type OriginRequestPolicyMap map[string]OriginRequestPolicyInput 253 254 func (OriginRequestPolicyMap) ElementType() reflect.Type { 255 return reflect.TypeOf((*map[string]*OriginRequestPolicy)(nil)).Elem() 256 } 257 258 func (i OriginRequestPolicyMap) ToOriginRequestPolicyMapOutput() OriginRequestPolicyMapOutput { 259 return i.ToOriginRequestPolicyMapOutputWithContext(context.Background()) 260 } 261 262 func (i OriginRequestPolicyMap) ToOriginRequestPolicyMapOutputWithContext(ctx context.Context) OriginRequestPolicyMapOutput { 263 return pulumi.ToOutputWithContext(ctx, i).(OriginRequestPolicyMapOutput) 264 } 265 266 type OriginRequestPolicyOutput struct{ *pulumi.OutputState } 267 268 func (OriginRequestPolicyOutput) ElementType() reflect.Type { 269 return reflect.TypeOf((**OriginRequestPolicy)(nil)).Elem() 270 } 271 272 func (o OriginRequestPolicyOutput) ToOriginRequestPolicyOutput() OriginRequestPolicyOutput { 273 return o 274 } 275 276 func (o OriginRequestPolicyOutput) ToOriginRequestPolicyOutputWithContext(ctx context.Context) OriginRequestPolicyOutput { 277 return o 278 } 279 280 // Comment to describe the origin request policy. 281 func (o OriginRequestPolicyOutput) Comment() pulumi.StringPtrOutput { 282 return o.ApplyT(func(v *OriginRequestPolicy) pulumi.StringPtrOutput { return v.Comment }).(pulumi.StringPtrOutput) 283 } 284 285 // Object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Cookies Config for more information. 286 func (o OriginRequestPolicyOutput) CookiesConfig() OriginRequestPolicyCookiesConfigOutput { 287 return o.ApplyT(func(v *OriginRequestPolicy) OriginRequestPolicyCookiesConfigOutput { return v.CookiesConfig }).(OriginRequestPolicyCookiesConfigOutput) 288 } 289 290 // The current version of the origin request policy. 291 func (o OriginRequestPolicyOutput) Etag() pulumi.StringOutput { 292 return o.ApplyT(func(v *OriginRequestPolicy) pulumi.StringOutput { return v.Etag }).(pulumi.StringOutput) 293 } 294 295 // Object that determines whether any HTTP headers (and if so, which headers) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Headers Config for more information. 296 func (o OriginRequestPolicyOutput) HeadersConfig() OriginRequestPolicyHeadersConfigOutput { 297 return o.ApplyT(func(v *OriginRequestPolicy) OriginRequestPolicyHeadersConfigOutput { return v.HeadersConfig }).(OriginRequestPolicyHeadersConfigOutput) 298 } 299 300 // Unique name to identify the origin request policy. 301 func (o OriginRequestPolicyOutput) Name() pulumi.StringOutput { 302 return o.ApplyT(func(v *OriginRequestPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 303 } 304 305 // Object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the origin request key and automatically included in requests that CloudFront sends to the origin. See Query String Config for more information. 306 func (o OriginRequestPolicyOutput) QueryStringsConfig() OriginRequestPolicyQueryStringsConfigOutput { 307 return o.ApplyT(func(v *OriginRequestPolicy) OriginRequestPolicyQueryStringsConfigOutput { return v.QueryStringsConfig }).(OriginRequestPolicyQueryStringsConfigOutput) 308 } 309 310 type OriginRequestPolicyArrayOutput struct{ *pulumi.OutputState } 311 312 func (OriginRequestPolicyArrayOutput) ElementType() reflect.Type { 313 return reflect.TypeOf((*[]*OriginRequestPolicy)(nil)).Elem() 314 } 315 316 func (o OriginRequestPolicyArrayOutput) ToOriginRequestPolicyArrayOutput() OriginRequestPolicyArrayOutput { 317 return o 318 } 319 320 func (o OriginRequestPolicyArrayOutput) ToOriginRequestPolicyArrayOutputWithContext(ctx context.Context) OriginRequestPolicyArrayOutput { 321 return o 322 } 323 324 func (o OriginRequestPolicyArrayOutput) Index(i pulumi.IntInput) OriginRequestPolicyOutput { 325 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OriginRequestPolicy { 326 return vs[0].([]*OriginRequestPolicy)[vs[1].(int)] 327 }).(OriginRequestPolicyOutput) 328 } 329 330 type OriginRequestPolicyMapOutput struct{ *pulumi.OutputState } 331 332 func (OriginRequestPolicyMapOutput) ElementType() reflect.Type { 333 return reflect.TypeOf((*map[string]*OriginRequestPolicy)(nil)).Elem() 334 } 335 336 func (o OriginRequestPolicyMapOutput) ToOriginRequestPolicyMapOutput() OriginRequestPolicyMapOutput { 337 return o 338 } 339 340 func (o OriginRequestPolicyMapOutput) ToOriginRequestPolicyMapOutputWithContext(ctx context.Context) OriginRequestPolicyMapOutput { 341 return o 342 } 343 344 func (o OriginRequestPolicyMapOutput) MapIndex(k pulumi.StringInput) OriginRequestPolicyOutput { 345 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OriginRequestPolicy { 346 return vs[0].(map[string]*OriginRequestPolicy)[vs[1].(string)] 347 }).(OriginRequestPolicyOutput) 348 } 349 350 func init() { 351 pulumi.RegisterInputType(reflect.TypeOf((*OriginRequestPolicyInput)(nil)).Elem(), &OriginRequestPolicy{}) 352 pulumi.RegisterInputType(reflect.TypeOf((*OriginRequestPolicyArrayInput)(nil)).Elem(), OriginRequestPolicyArray{}) 353 pulumi.RegisterInputType(reflect.TypeOf((*OriginRequestPolicyMapInput)(nil)).Elem(), OriginRequestPolicyMap{}) 354 pulumi.RegisterOutputType(OriginRequestPolicyOutput{}) 355 pulumi.RegisterOutputType(OriginRequestPolicyArrayOutput{}) 356 pulumi.RegisterOutputType(OriginRequestPolicyMapOutput{}) 357 }