akamai.AppSecAdvancedSettingsPrefetch

Scopes: Security configuration

Enables inspection of internal requests (that is, requests between your origin servers and Akamai’s edge servers). You can also use this resource to apply rate controls to prefetch requests.

When prefetch is enabled, internal requests are inspected by your firewall the same way that external requests (requests that originate outside the firewall and outside Akamai’s edge servers) are inspected.

This operation applies at the security configuration level, meaning that the settings affect all the security policies in that configuration.

Related API Endpoint: /appsec/v1/configs/{configId}/versions/{versionNumber}/advanced-settings/prefetch

Example Usage

Basic usage

using System.Collections.Generic;
using Pulumi;
using Akamai = Pulumi.Akamai;

return await Deployment.RunAsync(() => 
{
    var configuration = Akamai.GetAppSecConfiguration.Invoke(new()
    {
        Name = "Documentation",
    });

    var prefetch = new Akamai.AppSecAdvancedSettingsPrefetch("prefetch", new()
    {
        ConfigId = configuration.Apply(getAppSecConfigurationResult => getAppSecConfigurationResult.ConfigId),
        EnableAppLayer = false,
        AllExtensions = true,
        EnableRateControls = false,
        Extensions = new[]
        {
            ".tiff",
            ".bmp",
            ".jpg",
            ".gif",
            ".png",
        },
    });

});
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		configuration, err := akamai.LookupAppSecConfiguration(ctx, &akamai.LookupAppSecConfigurationArgs{
			Name: pulumi.StringRef("Documentation"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = akamai.NewAppSecAdvancedSettingsPrefetch(ctx, "prefetch", &akamai.AppSecAdvancedSettingsPrefetchArgs{
			ConfigId:           *pulumi.Int(configuration.ConfigId),
			EnableAppLayer:     pulumi.Bool(false),
			AllExtensions:      pulumi.Bool(true),
			EnableRateControls: pulumi.Bool(false),
			Extensions: pulumi.StringArray{
				pulumi.String(".tiff"),
				pulumi.String(".bmp"),
				pulumi.String(".jpg"),
				pulumi.String(".gif"),
				pulumi.String(".png"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.akamai.AkamaiFunctions;
import com.pulumi.akamai.inputs.GetAppSecConfigurationArgs;
import com.pulumi.akamai.AppSecAdvancedSettingsPrefetch;
import com.pulumi.akamai.AppSecAdvancedSettingsPrefetchArgs;
import java.util.List;
import java.util.ArrayList;
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 configuration = AkamaiFunctions.getAppSecConfiguration(GetAppSecConfigurationArgs.builder()
            .name("Documentation")
            .build());

        var prefetch = new AppSecAdvancedSettingsPrefetch("prefetch", AppSecAdvancedSettingsPrefetchArgs.builder()        
            .configId(configuration.applyValue(getAppSecConfigurationResult -> getAppSecConfigurationResult.configId()))
            .enableAppLayer(false)
            .allExtensions(true)
            .enableRateControls(false)
            .extensions(            
                ".tiff",
                ".bmp",
                ".jpg",
                ".gif",
                ".png")
            .build());

    }
}
import pulumi
import pulumi_akamai as akamai

configuration = akamai.get_app_sec_configuration(name="Documentation")
prefetch = akamai.AppSecAdvancedSettingsPrefetch("prefetch",
    config_id=configuration.config_id,
    enable_app_layer=False,
    all_extensions=True,
    enable_rate_controls=False,
    extensions=[
        ".tiff",
        ".bmp",
        ".jpg",
        ".gif",
        ".png",
    ])
import * as pulumi from "@pulumi/pulumi";
import * as akamai from "@pulumi/akamai";

const configuration = akamai.getAppSecConfiguration({
    name: "Documentation",
});
const prefetch = new akamai.AppSecAdvancedSettingsPrefetch("prefetch", {
    configId: configuration.then(configuration => configuration.configId),
    enableAppLayer: false,
    allExtensions: true,
    enableRateControls: false,
    extensions: [
        ".tiff",
        ".bmp",
        ".jpg",
        ".gif",
        ".png",
    ],
});
resources:
  prefetch:
    type: akamai:AppSecAdvancedSettingsPrefetch
    properties:
      configId: ${configuration.configId}
      enableAppLayer: false
      allExtensions: true
      enableRateControls: false
      extensions:
        - .tiff
        - .bmp
        - .jpg
        - .gif
        - .png
variables:
  configuration:
    fn::invoke:
      Function: akamai:getAppSecConfiguration
      Arguments:
        name: Documentation

Create AppSecAdvancedSettingsPrefetch Resource

new AppSecAdvancedSettingsPrefetch(name: string, args: AppSecAdvancedSettingsPrefetchArgs, opts?: CustomResourceOptions);
@overload
def AppSecAdvancedSettingsPrefetch(resource_name: str,
                                   opts: Optional[ResourceOptions] = None,
                                   all_extensions: Optional[bool] = None,
                                   config_id: Optional[int] = None,
                                   enable_app_layer: Optional[bool] = None,
                                   enable_rate_controls: Optional[bool] = None,
                                   extensions: Optional[Sequence[str]] = None)
@overload
def AppSecAdvancedSettingsPrefetch(resource_name: str,
                                   args: AppSecAdvancedSettingsPrefetchArgs,
                                   opts: Optional[ResourceOptions] = None)
func NewAppSecAdvancedSettingsPrefetch(ctx *Context, name string, args AppSecAdvancedSettingsPrefetchArgs, opts ...ResourceOption) (*AppSecAdvancedSettingsPrefetch, error)
public AppSecAdvancedSettingsPrefetch(string name, AppSecAdvancedSettingsPrefetchArgs args, CustomResourceOptions? opts = null)
public AppSecAdvancedSettingsPrefetch(String name, AppSecAdvancedSettingsPrefetchArgs args)
public AppSecAdvancedSettingsPrefetch(String name, AppSecAdvancedSettingsPrefetchArgs args, CustomResourceOptions options)
type: akamai:AppSecAdvancedSettingsPrefetch
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args AppSecAdvancedSettingsPrefetchArgs
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 AppSecAdvancedSettingsPrefetchArgs
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 AppSecAdvancedSettingsPrefetchArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AppSecAdvancedSettingsPrefetchArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AppSecAdvancedSettingsPrefetchArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

AppSecAdvancedSettingsPrefetch 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 AppSecAdvancedSettingsPrefetch resource accepts the following input properties:

AllExtensions bool

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

ConfigId int

. Unique identifier of the security configuration associated with the prefetch settings being modified.

EnableAppLayer bool

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

EnableRateControls bool

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

Extensions List<string>

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

AllExtensions bool

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

ConfigId int

. Unique identifier of the security configuration associated with the prefetch settings being modified.

EnableAppLayer bool

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

EnableRateControls bool

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

Extensions []string

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

allExtensions Boolean

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

configId Integer

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enableAppLayer Boolean

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enableRateControls Boolean

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions List<String>

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

allExtensions boolean

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

configId number

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enableAppLayer boolean

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enableRateControls boolean

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions string[]

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

all_extensions bool

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

config_id int

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enable_app_layer bool

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enable_rate_controls bool

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions Sequence[str]

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

allExtensions Boolean

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

configId Number

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enableAppLayer Boolean

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enableRateControls Boolean

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions List<String>

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing AppSecAdvancedSettingsPrefetch Resource

Get an existing AppSecAdvancedSettingsPrefetch 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?: AppSecAdvancedSettingsPrefetchState, opts?: CustomResourceOptions): AppSecAdvancedSettingsPrefetch
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        all_extensions: Optional[bool] = None,
        config_id: Optional[int] = None,
        enable_app_layer: Optional[bool] = None,
        enable_rate_controls: Optional[bool] = None,
        extensions: Optional[Sequence[str]] = None) -> AppSecAdvancedSettingsPrefetch
func GetAppSecAdvancedSettingsPrefetch(ctx *Context, name string, id IDInput, state *AppSecAdvancedSettingsPrefetchState, opts ...ResourceOption) (*AppSecAdvancedSettingsPrefetch, error)
public static AppSecAdvancedSettingsPrefetch Get(string name, Input<string> id, AppSecAdvancedSettingsPrefetchState? state, CustomResourceOptions? opts = null)
public static AppSecAdvancedSettingsPrefetch get(String name, Output<String> id, AppSecAdvancedSettingsPrefetchState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
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.
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:
AllExtensions bool

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

ConfigId int

. Unique identifier of the security configuration associated with the prefetch settings being modified.

EnableAppLayer bool

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

EnableRateControls bool

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

Extensions List<string>

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

AllExtensions bool

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

ConfigId int

. Unique identifier of the security configuration associated with the prefetch settings being modified.

EnableAppLayer bool

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

EnableRateControls bool

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

Extensions []string

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

allExtensions Boolean

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

configId Integer

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enableAppLayer Boolean

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enableRateControls Boolean

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions List<String>

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

allExtensions boolean

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

configId number

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enableAppLayer boolean

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enableRateControls boolean

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions string[]

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

all_extensions bool

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

config_id int

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enable_app_layer bool

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enable_rate_controls bool

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions Sequence[str]

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

allExtensions Boolean

. Set to true to enable prefetch requests for all file extensions; set to false to enable prefetch requests on only a specified set of file extensions. If set to false you must include the extensions argument.

configId Number

. Unique identifier of the security configuration associated with the prefetch settings being modified.

enableAppLayer Boolean

. Set to true to enable prefetch requests; set to false to disable prefetch requests.

enableRateControls Boolean

. Set to true to enable prefetch requests for rate controls; set to false to disable prefetch requests for rate controls.

extensions List<String>

. If all_extensions is false, this must be a JSON array of all the file extensions for which prefetch requests are enabled: prefetch requests won't be used with any file extensions not included in the array. If all_extensions is true, then this argument must be set to an empty array: [].

Package Details

Repository
Akamai pulumi/pulumi-akamai
License
Apache-2.0
Notes

This Pulumi package is based on the akamai Terraform Provider.