Class ResponseHeadersPolicy


  • public class ResponseHeadersPolicy
    extends com.pulumi.resources.CustomResource
    Provides a CloudFront response headers policy resource. A response headers policy contains information about a set of HTTP response headers and their values. After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront adds the headers in the policy to every response that it sends for requests that match the cache behavior. ## Example Usage ### CORS Config Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudfront.ResponseHeadersPolicy;
     import com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder()
                 .corsConfig(ResponseHeadersPolicyCorsConfigArgs.builder()
                     .accessControlAllowHeaders(ResponseHeadersPolicyCorsConfigAccessControlAllowHeadersArgs.builder()
                         .items("test")
                         .build())
                     .accessControlAllowMethods(ResponseHeadersPolicyCorsConfigAccessControlAllowMethodsArgs.builder()
                         .items("GET")
                         .build())
                     .accessControlAllowOrigins(ResponseHeadersPolicyCorsConfigAccessControlAllowOriginsArgs.builder()
                         .items("test.example.comtest")
                         .build())
                     .accessControlAllowCredentials(true)
                     .originOverride(true)
                     .build())
                 .name("example-policy")
                 .comment("test comment")
                 .build());
     
         }
     }
     
     
    ### Custom Headers Config Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudfront.ResponseHeadersPolicy;
     import com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder()
                 .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder()
                     .items(                
                         ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()
                             .header("X-Permitted-Cross-Domain-Policies")
                             .override(true)
                             .value("none")
                             .build(),
                         ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()
                             .header("X-Test")
                             .override(true)
                             .value("none")
                             .build())
                     .build())
                 .name("example-headers-policy")
                 .build());
     
         }
     }
     
     
    ### Mixed Config Usage The example below creates a CloudFront response headers policy with a custom headers config, remove headers config and server timing headers config.
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.cloudfront.ResponseHeadersPolicy;
     import com.pulumi.aws.cloudfront.ResponseHeadersPolicyArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyCustomHeadersConfigItemArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyRemoveHeadersConfigArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyRemoveHeadersConfigItemArgs;
     import com.pulumi.aws.cloudfront.inputs.ResponseHeadersPolicyServerTimingHeadersConfigArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new ResponseHeadersPolicy("example", ResponseHeadersPolicyArgs.builder()
                 .customHeadersConfig(ResponseHeadersPolicyCustomHeadersConfigArgs.builder()
                     .items(ResponseHeadersPolicyCustomHeadersConfigItemArgs.builder()
                         .header("X-Permitted-Cross-Domain-Policies")
                         .override(true)
                         .value("none")
                         .build())
                     .build())
                 .removeHeadersConfig(ResponseHeadersPolicyRemoveHeadersConfigArgs.builder()
                     .items(ResponseHeadersPolicyRemoveHeadersConfigItemArgs.builder()
                         .header("Set-Cookie")
                         .build())
                     .build())
                 .serverTimingHeadersConfig(ResponseHeadersPolicyServerTimingHeadersConfigArgs.builder()
                     .enabled(true)
                     .samplingRate(50.0)
                     .build())
                 .name("example-headers-policy")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import CloudFront response header policies using the `id`. For example: ```sh $ pulumi import aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy policy 658327ea-f89d-4fab-a63d-7e88639e58f9 ```
    • Constructor Detail

      • ResponseHeadersPolicy

        public ResponseHeadersPolicy​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • ResponseHeadersPolicy

        public ResponseHeadersPolicy​(java.lang.String name,
                                     @Nullable
                                     ResponseHeadersPolicyArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • ResponseHeadersPolicy

        public ResponseHeadersPolicy​(java.lang.String name,
                                     @Nullable
                                     ResponseHeadersPolicyArgs args,
                                     @Nullable
                                     com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        The response headers policy ARN.
      • comment

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> comment()
        Returns:
        A comment to describe the response headers policy. The comment cannot be longer than 128 characters.
      • corsConfig

        public com.pulumi.core.Output<java.util.Optional<ResponseHeadersPolicyCorsConfig>> corsConfig()
        Returns:
        A configuration for a set of HTTP response headers that are used for Cross-Origin Resource Sharing (CORS). See CORS Config for more information.
      • customHeadersConfig

        public com.pulumi.core.Output<java.util.Optional<ResponseHeadersPolicyCustomHeadersConfig>> customHeadersConfig()
        Returns:
        Object that contains an attribute `items` that contains a list of custom headers. See Custom Header for more information.
      • etag

        public com.pulumi.core.Output<java.lang.String> etag()
        Returns:
        The current version of the response headers policy.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        A unique name to identify the response headers policy.
      • removeHeadersConfig

        public com.pulumi.core.Output<java.util.Optional<ResponseHeadersPolicyRemoveHeadersConfig>> removeHeadersConfig()
        Returns:
        A configuration for a set of HTTP headers to remove from the HTTP response. Object that contains an attribute `items` that contains a list of headers. See Remove Header for more information.
      • securityHeadersConfig

        public com.pulumi.core.Output<java.util.Optional<ResponseHeadersPolicySecurityHeadersConfig>> securityHeadersConfig()
        Returns:
        A configuration for a set of security-related HTTP response headers. See Security Headers Config for more information.
      • serverTimingHeadersConfig

        public com.pulumi.core.Output<java.util.Optional<ResponseHeadersPolicyServerTimingHeadersConfig>> serverTimingHeadersConfig()
        Returns:
        A configuration for enabling the Server-Timing header in HTTP responses sent from CloudFront. See Server Timing Headers Config for more information.
      • get

        public static ResponseHeadersPolicy get​(java.lang.String name,
                                                com.pulumi.core.Output<java.lang.String> id,
                                                @Nullable
                                                ResponseHeadersPolicyState state,
                                                @Nullable
                                                com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.