Akamai

Pulumi Official
Package maintained by Pulumi
v3.0.0 published on Monday, Jul 25, 2022 by Pulumi

getAppSecPenaltyBox

Scopes: Security policy

Returns penalty box settings for the specified security policy. When the penalty box is enabled for a policy, clients that trigger a WAF Deny action are placed in the “penalty box”. There, the action you select for penalty box (either Alert or Deny ) continues to apply to any requests from that client for the next 10 minutes.

Related API Endpoint: /appsec/v1/configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/penalty-box

Output Options

The following options can be used to determine the information returned, and how that returned information is formatted:

  • action. Action taken any time the penalty box is triggered. Valid values are:
    • alert. Record the event.
    • deny. The request is blocked.
    • deny_custom_{custom_deny_id}. The action defined by the custom deny is taken.
    • none. Take no action.
  • enabled. If true, penalty box protection is enabled. If false, penalty box protection is disabled.
  • output_text. Tabular report of penalty box protection settings.

Example Usage

using Pulumi;
using Akamai = Pulumi.Akamai;

class MyStack : Stack
{
    public MyStack()
    {
        var configuration = Output.Create(Akamai.GetAppSecConfiguration.InvokeAsync(new Akamai.GetAppSecConfigurationArgs
        {
            Name = "Documentation",
        }));
        var penaltyBox = configuration.Apply(configuration => Output.Create(Akamai.GetAppSecPenaltyBox.InvokeAsync(new Akamai.GetAppSecPenaltyBoxArgs
        {
            ConfigId = configuration.ConfigId,
            SecurityPolicyId = "gms1_134637",
        })));
        this.PenaltyBoxAction = penaltyBox.Apply(penaltyBox => penaltyBox.Action);
        this.PenaltyBoxEnabled = penaltyBox.Apply(penaltyBox => penaltyBox.Enabled);
        this.PenaltyBoxText = penaltyBox.Apply(penaltyBox => penaltyBox.OutputText);
    }

    [Output("penaltyBoxAction")]
    public Output<string> PenaltyBoxAction { get; set; }
    [Output("penaltyBoxEnabled")]
    public Output<string> PenaltyBoxEnabled { get; set; }
    [Output("penaltyBoxText")]
    public Output<string> PenaltyBoxText { get; set; }
}
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		configuration, err := akamai.LookupAppSecConfiguration(ctx, &GetAppSecConfigurationArgs{
			Name: pulumi.StringRef("Documentation"),
		}, nil)
		if err != nil {
			return err
		}
		penaltyBox, err := akamai.LookupAppSecPenaltyBox(ctx, &GetAppSecPenaltyBoxArgs{
			ConfigId:         configuration.ConfigId,
			SecurityPolicyId: "gms1_134637",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("penaltyBoxAction", penaltyBox.Action)
		ctx.Export("penaltyBoxEnabled", penaltyBox.Enabled)
		ctx.Export("penaltyBoxText", penaltyBox.OutputText)
		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.inputs.GetAppSecPenaltyBoxArgs;
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());

        final var penaltyBox = AkamaiFunctions.getAppSecPenaltyBox(GetAppSecPenaltyBoxArgs.builder()
            .configId(configuration.applyValue(getAppSecConfigurationResult -> getAppSecConfigurationResult.configId()))
            .securityPolicyId("gms1_134637")
            .build());

        ctx.export("penaltyBoxAction", penaltyBox.applyValue(getAppSecPenaltyBoxResult -> getAppSecPenaltyBoxResult.action()));
        ctx.export("penaltyBoxEnabled", penaltyBox.applyValue(getAppSecPenaltyBoxResult -> getAppSecPenaltyBoxResult.enabled()));
        ctx.export("penaltyBoxText", penaltyBox.applyValue(getAppSecPenaltyBoxResult -> getAppSecPenaltyBoxResult.outputText()));
    }
}
import pulumi
import pulumi_akamai as akamai

configuration = akamai.get_app_sec_configuration(name="Documentation")
penalty_box = akamai.get_app_sec_penalty_box(config_id=configuration.config_id,
    security_policy_id="gms1_134637")
pulumi.export("penaltyBoxAction", penalty_box.action)
pulumi.export("penaltyBoxEnabled", penalty_box.enabled)
pulumi.export("penaltyBoxText", penalty_box.output_text)
import * as pulumi from "@pulumi/pulumi";
import * as akamai from "@pulumi/akamai";

const configuration = akamai.getAppSecConfiguration({
    name: "Documentation",
});
const penaltyBox = configuration.then(configuration => akamai.getAppSecPenaltyBox({
    configId: configuration.configId,
    securityPolicyId: "gms1_134637",
}));
export const penaltyBoxAction = penaltyBox.then(penaltyBox => penaltyBox.action);
export const penaltyBoxEnabled = penaltyBox.then(penaltyBox => penaltyBox.enabled);
export const penaltyBoxText = penaltyBox.then(penaltyBox => penaltyBox.outputText);
variables:
  configuration:
    Fn::Invoke:
      Function: akamai:getAppSecConfiguration
      Arguments:
        name: Documentation
  penaltyBox:
    Fn::Invoke:
      Function: akamai:getAppSecPenaltyBox
      Arguments:
        configId: ${configuration.configId}
        securityPolicyId: gms1_134637
outputs:
  penaltyBoxAction: ${penaltyBox.action}
  penaltyBoxEnabled: ${penaltyBox.enabled}
  penaltyBoxText: ${penaltyBox.outputText}

Using getAppSecPenaltyBox

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getAppSecPenaltyBox(args: GetAppSecPenaltyBoxArgs, opts?: InvokeOptions): Promise<GetAppSecPenaltyBoxResult>
function getAppSecPenaltyBoxOutput(args: GetAppSecPenaltyBoxOutputArgs, opts?: InvokeOptions): Output<GetAppSecPenaltyBoxResult>
def get_app_sec_penalty_box(config_id: Optional[int] = None,
                            security_policy_id: Optional[str] = None,
                            opts: Optional[InvokeOptions] = None) -> GetAppSecPenaltyBoxResult
def get_app_sec_penalty_box_output(config_id: Optional[pulumi.Input[int]] = None,
                            security_policy_id: Optional[pulumi.Input[str]] = None,
                            opts: Optional[InvokeOptions] = None) -> Output[GetAppSecPenaltyBoxResult]
func LookupAppSecPenaltyBox(ctx *Context, args *LookupAppSecPenaltyBoxArgs, opts ...InvokeOption) (*LookupAppSecPenaltyBoxResult, error)
func LookupAppSecPenaltyBoxOutput(ctx *Context, args *LookupAppSecPenaltyBoxOutputArgs, opts ...InvokeOption) LookupAppSecPenaltyBoxResultOutput

> Note: This function is named LookupAppSecPenaltyBox in the Go SDK.

public static class GetAppSecPenaltyBox 
{
    public static Task<GetAppSecPenaltyBoxResult> InvokeAsync(GetAppSecPenaltyBoxArgs args, InvokeOptions? opts = null)
    public static Output<GetAppSecPenaltyBoxResult> Invoke(GetAppSecPenaltyBoxInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetAppSecPenaltyBoxResult> getAppSecPenaltyBox(GetAppSecPenaltyBoxArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
Fn::Invoke:
  Function: akamai:index/getAppSecPenaltyBox:getAppSecPenaltyBox
  Arguments:
    # Arguments dictionary

The following arguments are supported:

ConfigId int

. Unique identifier of the security configuration associated with the penalty box settings.

SecurityPolicyId string

. Unique identifier of the security policy associated with the penalty box settings.

ConfigId int

. Unique identifier of the security configuration associated with the penalty box settings.

SecurityPolicyId string

. Unique identifier of the security policy associated with the penalty box settings.

configId Integer

. Unique identifier of the security configuration associated with the penalty box settings.

securityPolicyId String

. Unique identifier of the security policy associated with the penalty box settings.

configId number

. Unique identifier of the security configuration associated with the penalty box settings.

securityPolicyId string

. Unique identifier of the security policy associated with the penalty box settings.

config_id int

. Unique identifier of the security configuration associated with the penalty box settings.

security_policy_id str

. Unique identifier of the security policy associated with the penalty box settings.

configId Number

. Unique identifier of the security configuration associated with the penalty box settings.

securityPolicyId String

. Unique identifier of the security policy associated with the penalty box settings.

getAppSecPenaltyBox Result

The following output properties are available:

Action string
ConfigId int
Enabled bool
Id string

The provider-assigned unique ID for this managed resource.

OutputText string
SecurityPolicyId string
Action string
ConfigId int
Enabled bool
Id string

The provider-assigned unique ID for this managed resource.

OutputText string
SecurityPolicyId string
action String
configId Integer
enabled Boolean
id String

The provider-assigned unique ID for this managed resource.

outputText String
securityPolicyId String
action string
configId number
enabled boolean
id string

The provider-assigned unique ID for this managed resource.

outputText string
securityPolicyId string
action str
config_id int
enabled bool
id str

The provider-assigned unique ID for this managed resource.

output_text str
security_policy_id str
action String
configId Number
enabled Boolean
id String

The provider-assigned unique ID for this managed resource.

outputText String
securityPolicyId String

Package Details

Repository
https://github.com/pulumi/pulumi-akamai
License
Apache-2.0
Notes

This Pulumi package is based on the akamai Terraform Provider.