""" Create a WAF custom rule returns "Created" response """ from datadog_api_client import ApiClient, Configuration from datadog_api_client.v2.api.application_security_api import ApplicationSecurityApi from datadog_api_client.v2.model.application_security_waf_custom_rule_action import ( ApplicationSecurityWafCustomRuleAction, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_action_action import ( ApplicationSecurityWafCustomRuleActionAction, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_action_parameters import ( ApplicationSecurityWafCustomRuleActionParameters, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_condition import ( ApplicationSecurityWafCustomRuleCondition, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_condition_input import ( ApplicationSecurityWafCustomRuleConditionInput, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_condition_input_address import ( ApplicationSecurityWafCustomRuleConditionInputAddress, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_condition_operator import ( ApplicationSecurityWafCustomRuleConditionOperator, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_condition_options import ( ApplicationSecurityWafCustomRuleConditionOptions, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_condition_parameters import ( ApplicationSecurityWafCustomRuleConditionParameters, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_create_attributes import ( ApplicationSecurityWafCustomRuleCreateAttributes, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_create_data import ( ApplicationSecurityWafCustomRuleCreateData, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_create_request import ( ApplicationSecurityWafCustomRuleCreateRequest, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_scope import ApplicationSecurityWafCustomRuleScope from datadog_api_client.v2.model.application_security_waf_custom_rule_tags import ApplicationSecurityWafCustomRuleTags from datadog_api_client.v2.model.application_security_waf_custom_rule_tags_category import ( ApplicationSecurityWafCustomRuleTagsCategory, ) from datadog_api_client.v2.model.application_security_waf_custom_rule_type import ApplicationSecurityWafCustomRuleType body = ApplicationSecurityWafCustomRuleCreateRequest( data=ApplicationSecurityWafCustomRuleCreateData( attributes=ApplicationSecurityWafCustomRuleCreateAttributes( action=ApplicationSecurityWafCustomRuleAction( action=ApplicationSecurityWafCustomRuleActionAction.BLOCK_REQUEST, parameters=ApplicationSecurityWafCustomRuleActionParameters( location="/blocking", status_code=403, ), ), blocking=False, conditions=[ ApplicationSecurityWafCustomRuleCondition( operator=ApplicationSecurityWafCustomRuleConditionOperator.MATCH_REGEX, parameters=ApplicationSecurityWafCustomRuleConditionParameters( data="blocked_users", inputs=[ ApplicationSecurityWafCustomRuleConditionInput( address=ApplicationSecurityWafCustomRuleConditionInputAddress.SERVER_DB_STATEMENT, key_path=[], ), ], list=[], options=ApplicationSecurityWafCustomRuleConditionOptions( case_sensitive=False, min_length=0, ), regex="path.*", value="custom_tag", ), ), ], enabled=False, name="Block request from a bad useragent", path_glob="/api/search/*", scope=[ ApplicationSecurityWafCustomRuleScope( env="prod", service="billing-service", ), ], tags=ApplicationSecurityWafCustomRuleTags( category=ApplicationSecurityWafCustomRuleTagsCategory.BUSINESS_LOGIC, type="users.login.success", ), ), type=ApplicationSecurityWafCustomRuleType.CUSTOM_RULE, ), ) configuration = Configuration() with ApiClient(configuration) as api_client: api_instance = ApplicationSecurityApi(api_client) response = api_instance.create_application_security_waf_custom_rule(body=body) print(response)