1. Packages
  2. Incapsula Provider
  3. API Docs
  4. AbpWebsites
incapsula 3.32.1 published on Monday, Apr 14, 2025 by imperva

incapsula.AbpWebsites

Explore with Pulumi AI

incapsula logo
incapsula 3.32.1 published on Monday, Apr 14, 2025 by imperva

    Provides an ABP (Advanced Bot Protection) website resource. Allows you to enable and configure ABP for given websites.

    This represents the canonical configuration of the ABP website groups and websites, if there are existing website groups or website, or they have different settings those will be removed or changed and not added as additional items.

    NOTE: Due to limitations in ABP, the API key/id used to deploy this resource must match the account_id used in the resource (API key/id for a parent account do not work). All Incapsula sites associated with the resource must also be defined in that account.

    Example Usage

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incapsula.AbpWebsites;
    import com.pulumi.incapsula.AbpWebsitesArgs;
    import com.pulumi.incapsula.inputs.AbpWebsitesWebsiteGroupArgs;
    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) {
            var abpWebsitesAbpWebsites = new AbpWebsites("abpWebsitesAbpWebsites", AbpWebsitesArgs.builder()
                .accountId(data.incapsula_account_data().account_data().current_account())
                .autoPublish(true)
                .websiteGroups(            
                    AbpWebsitesWebsiteGroupArgs.builder()
                        .name("sites-1")
                        .websites(AbpWebsitesWebsiteGroupWebsiteArgs.builder()
                            .siteId(incapsula_site.sites-1().id())
                            .enableMitigation(false)
                            .build())
                        .build(),
                    AbpWebsitesWebsiteGroupArgs.builder()
                        .name("sites-2")
                        .websites(AbpWebsitesWebsiteGroupWebsiteArgs.builder()
                            .siteId(incapsula_site.sites-2().id())
                            .enableMitigation(true)
                            .build())
                        .build())
                .build());
    
            var abpWebsitesIndex_abpWebsitesAbpWebsites = new AbpWebsites("abpWebsitesIndex/abpWebsitesAbpWebsites", AbpWebsitesArgs.builder()
                .accountId(data.incapsula_account_data().account_data().current_account())
                .autoPublish(true)
                .websiteGroups(            
                    AbpWebsitesWebsiteGroupArgs.builder()
                        .name("sites")
                        .websites(                    
                            AbpWebsitesWebsiteGroupWebsiteArgs.builder()
                                .siteId(incapsula_site.sites-1().id())
                                .enableMitigation(false)
                                .build(),
                            AbpWebsitesWebsiteGroupWebsiteArgs.builder()
                                .siteId(incapsula_site.sites-2().id())
                                .enableMitigation(true)
                                .build())
                        .build(),
                    AbpWebsitesWebsiteGroupArgs.builder()
                        .name("sites")
                        .nameId("sites-2")
                        .websites(AbpWebsitesWebsiteGroupWebsiteArgs.builder()
                            .siteId(incapsula_site.sites-3().id())
                            .enableMitigation(true)
                            .build())
                        .build())
                .build());
    
        }
    }
    
    resources:
      abpWebsitesAbpWebsites:
        type: incapsula:AbpWebsites
        properties:
          accountId: ${data.incapsula_account_data.account_data.current_account}
          autoPublish: true
          websiteGroups:
            - name: sites-1
              websites:
                - siteId: ${incapsula_site"sites-1"[%!s(MISSING)].id}
                  enableMitigation: false
            - name: sites-2
              websites:
                - siteId: ${incapsula_site"sites-2"[%!s(MISSING)].id}
                  enableMitigation: true
      abpWebsitesIndex/abpWebsitesAbpWebsites:
        type: incapsula:AbpWebsites
        properties:
          accountId: ${data.incapsula_account_data.account_data.current_account}
          autoPublish: true
          websiteGroups:
            - name: sites
              websites:
                - siteId: ${incapsula_site"sites-1"[%!s(MISSING)].id}
                  enableMitigation: false
                - siteId: ${incapsula_site"sites-2"[%!s(MISSING)].id}
                  enableMitigation: true
            - name: sites
              nameId: sites-2
              websites:
                - siteId: ${incapsula_site"sites-3"[%!s(MISSING)].id}
                  enableMitigation: true
    

    Create AbpWebsites Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new AbpWebsites(name: string, args: AbpWebsitesArgs, opts?: CustomResourceOptions);
    @overload
    def AbpWebsites(resource_name: str,
                    args: AbpWebsitesArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def AbpWebsites(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    account_id: Optional[float] = None,
                    abp_websites_id: Optional[str] = None,
                    auto_publish: Optional[bool] = None,
                    website_groups: Optional[Sequence[AbpWebsitesWebsiteGroupArgs]] = None)
    func NewAbpWebsites(ctx *Context, name string, args AbpWebsitesArgs, opts ...ResourceOption) (*AbpWebsites, error)
    public AbpWebsites(string name, AbpWebsitesArgs args, CustomResourceOptions? opts = null)
    public AbpWebsites(String name, AbpWebsitesArgs args)
    public AbpWebsites(String name, AbpWebsitesArgs args, CustomResourceOptions options)
    
    type: incapsula:AbpWebsites
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

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

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var abpWebsitesResource = new Incapsula.AbpWebsites("abpWebsitesResource", new()
    {
        AccountId = 0,
        AbpWebsitesId = "string",
        AutoPublish = false,
        WebsiteGroups = new[]
        {
            new Incapsula.Inputs.AbpWebsitesWebsiteGroupArgs
            {
                Name = "string",
                Id = "string",
                NameId = "string",
                Websites = new[]
                {
                    new Incapsula.Inputs.AbpWebsitesWebsiteGroupWebsiteArgs
                    {
                        IncapsulaSiteId = 0,
                        EnableMitigation = false,
                        Id = "string",
                    },
                },
            },
        },
    });
    
    example, err := incapsula.NewAbpWebsites(ctx, "abpWebsitesResource", &incapsula.AbpWebsitesArgs{
    	AccountId:     pulumi.Float64(0),
    	AbpWebsitesId: pulumi.String("string"),
    	AutoPublish:   pulumi.Bool(false),
    	WebsiteGroups: incapsula.AbpWebsitesWebsiteGroupArray{
    		&incapsula.AbpWebsitesWebsiteGroupArgs{
    			Name:   pulumi.String("string"),
    			Id:     pulumi.String("string"),
    			NameId: pulumi.String("string"),
    			Websites: incapsula.AbpWebsitesWebsiteGroupWebsiteArray{
    				&incapsula.AbpWebsitesWebsiteGroupWebsiteArgs{
    					IncapsulaSiteId:  pulumi.Float64(0),
    					EnableMitigation: pulumi.Bool(false),
    					Id:               pulumi.String("string"),
    				},
    			},
    		},
    	},
    })
    
    var abpWebsitesResource = new AbpWebsites("abpWebsitesResource", AbpWebsitesArgs.builder()
        .accountId(0)
        .abpWebsitesId("string")
        .autoPublish(false)
        .websiteGroups(AbpWebsitesWebsiteGroupArgs.builder()
            .name("string")
            .id("string")
            .nameId("string")
            .websites(AbpWebsitesWebsiteGroupWebsiteArgs.builder()
                .incapsulaSiteId(0)
                .enableMitigation(false)
                .id("string")
                .build())
            .build())
        .build());
    
    abp_websites_resource = incapsula.AbpWebsites("abpWebsitesResource",
        account_id=0,
        abp_websites_id="string",
        auto_publish=False,
        website_groups=[{
            "name": "string",
            "id": "string",
            "name_id": "string",
            "websites": [{
                "incapsula_site_id": 0,
                "enable_mitigation": False,
                "id": "string",
            }],
        }])
    
    const abpWebsitesResource = new incapsula.AbpWebsites("abpWebsitesResource", {
        accountId: 0,
        abpWebsitesId: "string",
        autoPublish: false,
        websiteGroups: [{
            name: "string",
            id: "string",
            nameId: "string",
            websites: [{
                incapsulaSiteId: 0,
                enableMitigation: false,
                id: "string",
            }],
        }],
    });
    
    type: incapsula:AbpWebsites
    properties:
        abpWebsitesId: string
        accountId: 0
        autoPublish: false
        websiteGroups:
            - id: string
              name: string
              nameId: string
              websites:
                - enableMitigation: false
                  id: string
                  incapsulaSiteId: 0
    

    AbpWebsites Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The AbpWebsites resource accepts the following input properties:

    AccountId double
    The account these websites belongs to.
    AbpWebsitesId string
    The ID of this resource.
    AutoPublish bool
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    WebsiteGroups List<AbpWebsitesWebsiteGroup>
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    AccountId float64
    The account these websites belongs to.
    AbpWebsitesId string
    The ID of this resource.
    AutoPublish bool
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    WebsiteGroups []AbpWebsitesWebsiteGroupArgs
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    accountId Double
    The account these websites belongs to.
    abpWebsitesId String
    The ID of this resource.
    autoPublish Boolean
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    websiteGroups List<AbpWebsitesWebsiteGroup>
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    accountId number
    The account these websites belongs to.
    abpWebsitesId string
    The ID of this resource.
    autoPublish boolean
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    websiteGroups AbpWebsitesWebsiteGroup[]
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    account_id float
    The account these websites belongs to.
    abp_websites_id str
    The ID of this resource.
    auto_publish bool
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    website_groups Sequence[AbpWebsitesWebsiteGroupArgs]
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    accountId Number
    The account these websites belongs to.
    abpWebsitesId String
    The ID of this resource.
    autoPublish Boolean
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    websiteGroups List<Property Map>
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    LastPublish string
    Id string
    The provider-assigned unique ID for this managed resource.
    LastPublish string
    id String
    The provider-assigned unique ID for this managed resource.
    lastPublish String
    id string
    The provider-assigned unique ID for this managed resource.
    lastPublish string
    id str
    The provider-assigned unique ID for this managed resource.
    last_publish str
    id String
    The provider-assigned unique ID for this managed resource.
    lastPublish String

    Look up Existing AbpWebsites Resource

    Get an existing AbpWebsites 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?: AbpWebsitesState, opts?: CustomResourceOptions): AbpWebsites
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            abp_websites_id: Optional[str] = None,
            account_id: Optional[float] = None,
            auto_publish: Optional[bool] = None,
            last_publish: Optional[str] = None,
            website_groups: Optional[Sequence[AbpWebsitesWebsiteGroupArgs]] = None) -> AbpWebsites
    func GetAbpWebsites(ctx *Context, name string, id IDInput, state *AbpWebsitesState, opts ...ResourceOption) (*AbpWebsites, error)
    public static AbpWebsites Get(string name, Input<string> id, AbpWebsitesState? state, CustomResourceOptions? opts = null)
    public static AbpWebsites get(String name, Output<String> id, AbpWebsitesState state, CustomResourceOptions options)
    resources:  _:    type: incapsula:AbpWebsites    get:      id: ${id}
    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:
    AbpWebsitesId string
    The ID of this resource.
    AccountId double
    The account these websites belongs to.
    AutoPublish bool
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    LastPublish string
    WebsiteGroups List<AbpWebsitesWebsiteGroup>
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    AbpWebsitesId string
    The ID of this resource.
    AccountId float64
    The account these websites belongs to.
    AutoPublish bool
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    LastPublish string
    WebsiteGroups []AbpWebsitesWebsiteGroupArgs
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    abpWebsitesId String
    The ID of this resource.
    accountId Double
    The account these websites belongs to.
    autoPublish Boolean
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    lastPublish String
    websiteGroups List<AbpWebsitesWebsiteGroup>
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    abpWebsitesId string
    The ID of this resource.
    accountId number
    The account these websites belongs to.
    autoPublish boolean
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    lastPublish string
    websiteGroups AbpWebsitesWebsiteGroup[]
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    abp_websites_id str
    The ID of this resource.
    account_id float
    The account these websites belongs to.
    auto_publish bool
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    last_publish str
    website_groups Sequence[AbpWebsitesWebsiteGroupArgs]
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.
    abpWebsitesId String
    The ID of this resource.
    accountId Number
    The account these websites belongs to.
    autoPublish Boolean
    Whether to publish the changes automatically. Changes don't take take effect until they have been published.
    lastPublish String
    websiteGroups List<Property Map>
    List of website groups which are associated to ABP. Website groups are matched in a top-down fashion. If a more specific website group should take precedence over over a wild card entry then that should be higher in the list.

    Supporting Types

    AbpWebsitesWebsiteGroup, AbpWebsitesWebsiteGroupArgs

    Name string
    Name for the website group. Must be unique unless name_id is specified.
    Id string
    The ID of this resource.
    NameId string
    Unique user-defined identifier used to differentiate website groups whose name is identical
    Websites List<AbpWebsitesWebsiteGroupWebsite>
    List of websites within the website group. Websites are matched in a top-down fashion. If a more specific website should take precedence over over a wild card entry then that should be higher in the list
    Name string
    Name for the website group. Must be unique unless name_id is specified.
    Id string
    The ID of this resource.
    NameId string
    Unique user-defined identifier used to differentiate website groups whose name is identical
    Websites []AbpWebsitesWebsiteGroupWebsite
    List of websites within the website group. Websites are matched in a top-down fashion. If a more specific website should take precedence over over a wild card entry then that should be higher in the list
    name String
    Name for the website group. Must be unique unless name_id is specified.
    id String
    The ID of this resource.
    nameId String
    Unique user-defined identifier used to differentiate website groups whose name is identical
    websites List<AbpWebsitesWebsiteGroupWebsite>
    List of websites within the website group. Websites are matched in a top-down fashion. If a more specific website should take precedence over over a wild card entry then that should be higher in the list
    name string
    Name for the website group. Must be unique unless name_id is specified.
    id string
    The ID of this resource.
    nameId string
    Unique user-defined identifier used to differentiate website groups whose name is identical
    websites AbpWebsitesWebsiteGroupWebsite[]
    List of websites within the website group. Websites are matched in a top-down fashion. If a more specific website should take precedence over over a wild card entry then that should be higher in the list
    name str
    Name for the website group. Must be unique unless name_id is specified.
    id str
    The ID of this resource.
    name_id str
    Unique user-defined identifier used to differentiate website groups whose name is identical
    websites Sequence[AbpWebsitesWebsiteGroupWebsite]
    List of websites within the website group. Websites are matched in a top-down fashion. If a more specific website should take precedence over over a wild card entry then that should be higher in the list
    name String
    Name for the website group. Must be unique unless name_id is specified.
    id String
    The ID of this resource.
    nameId String
    Unique user-defined identifier used to differentiate website groups whose name is identical
    websites List<Property Map>
    List of websites within the website group. Websites are matched in a top-down fashion. If a more specific website should take precedence over over a wild card entry then that should be higher in the list

    AbpWebsitesWebsiteGroupWebsite, AbpWebsitesWebsiteGroupWebsiteArgs

    IncapsulaSiteId double
    Which incapsula.Site this website refers to
    EnableMitigation bool
    Enables the ABP conditions for this website. Defaults to true.
    Id string
    The ID of this resource.
    IncapsulaSiteId float64
    Which incapsula.Site this website refers to
    EnableMitigation bool
    Enables the ABP conditions for this website. Defaults to true.
    Id string
    The ID of this resource.
    incapsulaSiteId Double
    Which incapsula.Site this website refers to
    enableMitigation Boolean
    Enables the ABP conditions for this website. Defaults to true.
    id String
    The ID of this resource.
    incapsulaSiteId number
    Which incapsula.Site this website refers to
    enableMitigation boolean
    Enables the ABP conditions for this website. Defaults to true.
    id string
    The ID of this resource.
    incapsula_site_id float
    Which incapsula.Site this website refers to
    enable_mitigation bool
    Enables the ABP conditions for this website. Defaults to true.
    id str
    The ID of this resource.
    incapsulaSiteId Number
    Which incapsula.Site this website refers to
    enableMitigation Boolean
    Enables the ABP conditions for this website. Defaults to true.
    id String
    The ID of this resource.

    Import

    $ pulumi import incapsula:index/abpWebsites:AbpWebsites websites 1234
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    incapsula imperva/terraform-provider-incapsula
    License
    Notes
    This Pulumi package is based on the incapsula Terraform Provider.
    incapsula logo
    incapsula 3.32.1 published on Monday, Apr 14, 2025 by imperva