FieldLevelEncryptionConfig

Provides a CloudFront Field-level Encryption Config resource.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var test = new Aws.CloudFront.FieldLevelEncryptionConfig("test", new Aws.CloudFront.FieldLevelEncryptionConfigArgs
        {
            Comment = "test comment",
            ContentTypeProfileConfig = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigArgs
            {
                ForwardWhenContentTypeIsUnknown = true,
                ContentTypeProfiles = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs
                {
                    Items = 
                    {
                        new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs
                        {
                            ContentType = "application/x-www-form-urlencoded",
                            Format = "URLEncoded",
                        },
                    },
                },
            },
            QueryArgProfileConfig = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigArgs
            {
                ForwardWhenQueryArgProfileIsUnknown = true,
                QueryArgProfiles = new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs
                {
                    Items = 
                    {
                        new Aws.CloudFront.Inputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs
                        {
                            ProfileId = aws_cloudfront_field_level_encryption_profile.Test.Id,
                            QueryArg = "Arg1",
                        },
                    },
                },
            },
        });
    }

}
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfront.NewFieldLevelEncryptionConfig(ctx, "test", &cloudfront.FieldLevelEncryptionConfigArgs{
			Comment: pulumi.String("test comment"),
			ContentTypeProfileConfig: &cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigArgs{
				ForwardWhenContentTypeIsUnknown: pulumi.Bool(true),
				ContentTypeProfiles: &cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs{
					Items: cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArray{
						&cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs{
							ContentType: pulumi.String("application/x-www-form-urlencoded"),
							Format:      pulumi.String("URLEncoded"),
						},
					},
				},
			},
			QueryArgProfileConfig: &cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigArgs{
				ForwardWhenQueryArgProfileIsUnknown: pulumi.Bool(true),
				QueryArgProfiles: &cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs{
					Items: cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArray{
						&cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs{
							ProfileId: pulumi.Any(aws_cloudfront_field_level_encryption_profile.Test.Id),
							QueryArg:  pulumi.String("Arg1"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

test = aws.cloudfront.FieldLevelEncryptionConfig("test",
    comment="test comment",
    content_type_profile_config=aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigArgs(
        forward_when_content_type_is_unknown=True,
        content_type_profiles=aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs(
            items=[aws.cloudfront.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs(
                content_type="application/x-www-form-urlencoded",
                format="URLEncoded",
            )],
        ),
    ),
    query_arg_profile_config=aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigArgs(
        forward_when_query_arg_profile_is_unknown=True,
        query_arg_profiles=aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs(
            items=[aws.cloudfront.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs(
                profile_id=aws_cloudfront_field_level_encryption_profile["test"]["id"],
                query_arg="Arg1",
            )],
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const test = new aws.cloudfront.FieldLevelEncryptionConfig("test", {
    comment: "test comment",
    contentTypeProfileConfig: {
        forwardWhenContentTypeIsUnknown: true,
        contentTypeProfiles: {
            items: [{
                contentType: "application/x-www-form-urlencoded",
                format: "URLEncoded",
            }],
        },
    },
    queryArgProfileConfig: {
        forwardWhenQueryArgProfileIsUnknown: true,
        queryArgProfiles: {
            items: [{
                profileId: aws_cloudfront_field_level_encryption_profile.test.id,
                queryArg: "Arg1",
            }],
        },
    },
});

Create a FieldLevelEncryptionConfig Resource

new FieldLevelEncryptionConfig(name: string, args: FieldLevelEncryptionConfigArgs, opts?: CustomResourceOptions);
@overload
def FieldLevelEncryptionConfig(resource_name: str,
                               opts: Optional[ResourceOptions] = None,
                               comment: Optional[str] = None,
                               content_type_profile_config: Optional[FieldLevelEncryptionConfigContentTypeProfileConfigArgs] = None,
                               query_arg_profile_config: Optional[FieldLevelEncryptionConfigQueryArgProfileConfigArgs] = None)
@overload
def FieldLevelEncryptionConfig(resource_name: str,
                               args: FieldLevelEncryptionConfigArgs,
                               opts: Optional[ResourceOptions] = None)
func NewFieldLevelEncryptionConfig(ctx *Context, name string, args FieldLevelEncryptionConfigArgs, opts ...ResourceOption) (*FieldLevelEncryptionConfig, error)
public FieldLevelEncryptionConfig(string name, FieldLevelEncryptionConfigArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args FieldLevelEncryptionConfigArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args FieldLevelEncryptionConfigArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args FieldLevelEncryptionConfigArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args FieldLevelEncryptionConfigArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

FieldLevelEncryptionConfig Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The FieldLevelEncryptionConfig resource accepts the following input properties:

ContentTypeProfileConfig FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
QueryArgProfileConfig FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
Comment string
An optional comment about the Field Level Encryption Config.
ContentTypeProfileConfig FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
QueryArgProfileConfig FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
Comment string
An optional comment about the Field Level Encryption Config.
contentTypeProfileConfig FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
queryArgProfileConfig FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
comment string
An optional comment about the Field Level Encryption Config.
content_type_profile_config FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
query_arg_profile_config FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
comment str
An optional comment about the Field Level Encryption Config.

Outputs

All input properties are implicitly available as output properties. Additionally, the FieldLevelEncryptionConfig resource produces the following output properties:

CallerReference string
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
Etag string
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
Id string
The provider-assigned unique ID for this managed resource.
CallerReference string
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
Etag string
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
Id string
The provider-assigned unique ID for this managed resource.
callerReference string
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
etag string
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
id string
The provider-assigned unique ID for this managed resource.
caller_reference str
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
etag str
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing FieldLevelEncryptionConfig Resource

Get an existing FieldLevelEncryptionConfig resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: FieldLevelEncryptionConfigState, opts?: CustomResourceOptions): FieldLevelEncryptionConfig
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        caller_reference: Optional[str] = None,
        comment: Optional[str] = None,
        content_type_profile_config: Optional[FieldLevelEncryptionConfigContentTypeProfileConfigArgs] = None,
        etag: Optional[str] = None,
        query_arg_profile_config: Optional[FieldLevelEncryptionConfigQueryArgProfileConfigArgs] = None) -> FieldLevelEncryptionConfig
func GetFieldLevelEncryptionConfig(ctx *Context, name string, id IDInput, state *FieldLevelEncryptionConfigState, opts ...ResourceOption) (*FieldLevelEncryptionConfig, error)
public static FieldLevelEncryptionConfig Get(string name, Input<string> id, FieldLevelEncryptionConfigState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

CallerReference string
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
Comment string
An optional comment about the Field Level Encryption Config.
ContentTypeProfileConfig FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
Etag string
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
QueryArgProfileConfig FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
CallerReference string
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
Comment string
An optional comment about the Field Level Encryption Config.
ContentTypeProfileConfig FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
Etag string
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
QueryArgProfileConfig FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
callerReference string
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
comment string
An optional comment about the Field Level Encryption Config.
contentTypeProfileConfig FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
etag string
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
queryArgProfileConfig FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.
caller_reference str
Internal value used by CloudFront to allow future updates to the Field Level Encryption Config.
comment str
An optional comment about the Field Level Encryption Config.
content_type_profile_config FieldLevelEncryptionConfigContentTypeProfileConfigArgs
Content Type Profile Config specifies when to forward content if a content type isn’t recognized and profiles to use as by default in a request if a query argument doesn’t specify a profile to use.
etag str
The current version of the Field Level Encryption Config. For example: E2QWRUHAPOMQZL.
query_arg_profile_config FieldLevelEncryptionConfigQueryArgProfileConfigArgs
Query Arg Profile Config that specifies when to forward content if a profile isn’t found and the profile that can be provided as a query argument in a request.

Supporting Types

FieldLevelEncryptionConfigContentTypeProfileConfig

ContentTypeProfiles FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles
Object that contains an attribute items that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
ForwardWhenContentTypeIsUnknown bool
specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
ContentTypeProfiles FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles
Object that contains an attribute items that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
ForwardWhenContentTypeIsUnknown bool
specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
contentTypeProfiles FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles
Object that contains an attribute items that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
forwardWhenContentTypeIsUnknown boolean
specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
content_type_profiles FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles
Object that contains an attribute items that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
forward_when_content_type_is_unknown bool
specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles

FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem

ContentType string
he content type for a field-level encryption content type-profile mapping. Valid value is application/x-www-form-urlencoded.
Format string
The format for a field-level encryption content type-profile mapping. Valid value is URLEncoded.
ProfileId string
ID of profile to use for field-level encryption query argument-profile mapping
ContentType string
he content type for a field-level encryption content type-profile mapping. Valid value is application/x-www-form-urlencoded.
Format string
The format for a field-level encryption content type-profile mapping. Valid value is URLEncoded.
ProfileId string
ID of profile to use for field-level encryption query argument-profile mapping
contentType string
he content type for a field-level encryption content type-profile mapping. Valid value is application/x-www-form-urlencoded.
format string
The format for a field-level encryption content type-profile mapping. Valid value is URLEncoded.
profileId string
ID of profile to use for field-level encryption query argument-profile mapping
content_type str
he content type for a field-level encryption content type-profile mapping. Valid value is application/x-www-form-urlencoded.
format str
The format for a field-level encryption content type-profile mapping. Valid value is URLEncoded.
profile_id str
ID of profile to use for field-level encryption query argument-profile mapping

FieldLevelEncryptionConfigQueryArgProfileConfig

ForwardWhenQueryArgProfileIsUnknown bool
Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
QueryArgProfiles FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles
Object that contains an attribute items that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
ForwardWhenQueryArgProfileIsUnknown bool
Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
QueryArgProfiles FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles
Object that contains an attribute items that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
forwardWhenQueryArgProfileIsUnknown boolean
Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
queryArgProfiles FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles
Object that contains an attribute items that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
forward_when_query_arg_profile_is_unknown bool
Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
query_arg_profiles FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles
Object that contains an attribute items that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.

FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles

FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem

ProfileId string
ID of profile to use for field-level encryption query argument-profile mapping
QueryArg string
Query argument for field-level encryption query argument-profile mapping.
ProfileId string
ID of profile to use for field-level encryption query argument-profile mapping
QueryArg string
Query argument for field-level encryption query argument-profile mapping.
profileId string
ID of profile to use for field-level encryption query argument-profile mapping
queryArg string
Query argument for field-level encryption query argument-profile mapping.
profile_id str
ID of profile to use for field-level encryption query argument-profile mapping
query_arg str
Query argument for field-level encryption query argument-profile mapping.

Import

Cloudfront Field Level Encryption Config can be imported using the id, e.g.

 $ pulumi import aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig config E74FTE3AEXAMPLE

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.