getCachePolicy function

Future<GetCachePolicyResult> getCachePolicy(
  1. GetCachePolicyArgs args, {
  2. InvokeOptions? options,
})

Use this data source to retrieve information about a CloudFront cache policy.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = aws.cloudfront.getCachePolicy({
    name: "example-policy",
});
import pulumi
import pulumi_aws as aws

example = aws.cloudfront.get_cache_policy(name="example-policy")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var example = Aws.CloudFront.GetCachePolicy.Invoke(new()
    {
        Name = "example-policy",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudfront"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfront.LookupCachePolicy(ctx, &cloudfront.LookupCachePolicyArgs{
			Name: pulumi.StringRef("example-policy"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

data "aws_cloudfront_getcachepolicy" "example" {
  name = "example-policy"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.CloudfrontFunctions;
import com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;
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) {
        final var example = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()
            .name("example-policy")
            .build());

    }
}
variables:
  example:
    fn::invoke:
      function: aws:cloudfront:getCachePolicy
      arguments:
        name: example-policy

AWS-Managed Policies

AWS managed cache policy names are prefixed with Managed-, except for UseOriginCacheControlHeaders and UseOriginCacheControlHeaders-QueryStrings:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example1 = aws.cloudfront.getCachePolicy({
    name: "Managed-CachingOptimized",
});
const example2 = aws.cloudfront.getCachePolicy({
    name: "UseOriginCacheControlHeaders",
});
import pulumi
import pulumi_aws as aws

example1 = aws.cloudfront.get_cache_policy(name="Managed-CachingOptimized")
example2 = aws.cloudfront.get_cache_policy(name="UseOriginCacheControlHeaders")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var example1 = Aws.CloudFront.GetCachePolicy.Invoke(new()
    {
        Name = "Managed-CachingOptimized",
    });

    var example2 = Aws.CloudFront.GetCachePolicy.Invoke(new()
    {
        Name = "UseOriginCacheControlHeaders",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudfront"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfront.LookupCachePolicy(ctx, &cloudfront.LookupCachePolicyArgs{
			Name: pulumi.StringRef("Managed-CachingOptimized"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudfront.LookupCachePolicy(ctx, &cloudfront.LookupCachePolicyArgs{
			Name: pulumi.StringRef("UseOriginCacheControlHeaders"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

data "aws_cloudfront_getcachepolicy" "example1" {
  name = "Managed-CachingOptimized"
}
data "aws_cloudfront_getcachepolicy" "example2" {
  name = "UseOriginCacheControlHeaders"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.CloudfrontFunctions;
import com.pulumi.aws.cloudfront.inputs.GetCachePolicyArgs;
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) {
        final var example1 = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()
            .name("Managed-CachingOptimized")
            .build());

        final var example2 = CloudfrontFunctions.getCachePolicy(GetCachePolicyArgs.builder()
            .name("UseOriginCacheControlHeaders")
            .build());

    }
}
variables:
  example1:
    fn::invoke:
      function: aws:cloudfront:getCachePolicy
      arguments:
        name: Managed-CachingOptimized
  example2:
    fn::invoke:
      function: aws:cloudfront:getCachePolicy
      arguments:
        name: UseOriginCacheControlHeaders

args Arguments passed to this invoke. Arguments for getCachePolicy. options Invoke options controlling this call.

Implementation

Future<GetCachePolicyResult> getCachePolicy(
  GetCachePolicyArgs args, {
  pulumi.InvokeOptions? options,
}) async {
  final deployment = pulumi.Deployment.instance;
  final result = await deployment.invoke<Map<String, dynamic>>(
    'aws:cloudfront/getCachePolicy:getCachePolicy',
    args.toMap(),
    options: pulumi.toDeploymentInvokeOptions(options),
  );
  return GetCachePolicyResult.fromMap(result);
}