# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from . import _utilities

__all__ = [
    'GetAppSecCustomRuleActionsResult',
    'AwaitableGetAppSecCustomRuleActionsResult',
    'get_app_sec_custom_rule_actions',
]

@pulumi.output_type
class GetAppSecCustomRuleActionsResult:
    """
    A collection of values returned by getAppSecCustomRuleActions.
    """
    def __init__(__self__, config_id=None, custom_rule_id=None, id=None, output_text=None, security_policy_id=None):
        if config_id and not isinstance(config_id, int):
            raise TypeError("Expected argument 'config_id' to be a int")
        pulumi.set(__self__, "config_id", config_id)
        if custom_rule_id and not isinstance(custom_rule_id, int):
            raise TypeError("Expected argument 'custom_rule_id' to be a int")
        pulumi.set(__self__, "custom_rule_id", custom_rule_id)
        if id and not isinstance(id, str):
            raise TypeError("Expected argument 'id' to be a str")
        pulumi.set(__self__, "id", id)
        if output_text and not isinstance(output_text, str):
            raise TypeError("Expected argument 'output_text' to be a str")
        pulumi.set(__self__, "output_text", output_text)
        if security_policy_id and not isinstance(security_policy_id, str):
            raise TypeError("Expected argument 'security_policy_id' to be a str")
        pulumi.set(__self__, "security_policy_id", security_policy_id)

    @property
    @pulumi.getter(name="configId")
    def config_id(self) -> int:
        return pulumi.get(self, "config_id")

    @property
    @pulumi.getter(name="customRuleId")
    def custom_rule_id(self) -> Optional[int]:
        return pulumi.get(self, "custom_rule_id")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The provider-assigned unique ID for this managed resource.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="outputText")
    def output_text(self) -> str:
        """
        A tabular display showing the ID, name, and action of all custom rules, or of the specific custom rule, associated with the specified security configuration, version and security policy.
        """
        return pulumi.get(self, "output_text")

    @property
    @pulumi.getter(name="securityPolicyId")
    def security_policy_id(self) -> str:
        return pulumi.get(self, "security_policy_id")


class AwaitableGetAppSecCustomRuleActionsResult(GetAppSecCustomRuleActionsResult):
    # pylint: disable=using-constant-test
    def __await__(self):
        if False:
            yield self
        return GetAppSecCustomRuleActionsResult(
            config_id=self.config_id,
            custom_rule_id=self.custom_rule_id,
            id=self.id,
            output_text=self.output_text,
            security_policy_id=self.security_policy_id)


def get_app_sec_custom_rule_actions(config_id: Optional[int] = None,
                                    custom_rule_id: Optional[int] = None,
                                    security_policy_id: Optional[str] = None,
                                    opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAppSecCustomRuleActionsResult:
    """
    Use the `getAppSecCustomRuleActions` data source to retrieve information about the actions defined for the custom rules, or a specific custom rule, associated with a specific security configuration and security policy.

    ## Example Usage

    Basic usage:

    ```python
    import pulumi
    import pulumi_akamai as akamai

    configuration = akamai.get_app_sec_configuration(name="Akamai Tools")
    custom_rule_actions_app_sec_custom_rule_actions = akamai.get_app_sec_custom_rule_actions(config_id=configuration.config_id,
        security_policy_id="crAP_75829")
    pulumi.export("customRuleActions", custom_rule_actions_app_sec_custom_rule_actions.output_text)
    ```


    :param int config_id: The ID of the security configuration to use.
    :param int custom_rule_id: A specific custom rule for which to retrieve information. If not supplied, information about all custom rules will be returned.
    :param str security_policy_id: The ID of the security policy to use
    """
    __args__ = dict()
    __args__['configId'] = config_id
    __args__['customRuleId'] = custom_rule_id
    __args__['securityPolicyId'] = security_policy_id
    if opts is None:
        opts = pulumi.InvokeOptions()
    if opts.version is None:
        opts.version = _utilities.get_version()
    __ret__ = pulumi.runtime.invoke('akamai:index/getAppSecCustomRuleActions:getAppSecCustomRuleActions', __args__, opts=opts, typ=GetAppSecCustomRuleActionsResult).value

    return AwaitableGetAppSecCustomRuleActionsResult(
        config_id=__ret__.config_id,
        custom_rule_id=__ret__.custom_rule_id,
        id=__ret__.id,
        output_text=__ret__.output_text,
        security_policy_id=__ret__.security_policy_id)
