# TCP Flow Protection # Filters ## List all TCP Flow Protection filters. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.list(FilterListParams**kwargs) -> SyncV4PagePaginationArray[FilterListResponse]` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters` List all TCP Flow Protection filters for an account. ### Parameters - `account_id: str` Identifier. - `direction: Optional[str]` The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `mode: Optional[str]` The mode of the filters to get. Optional. Valid values: 'enabled', 'disabled', 'monitoring'. - `order: Optional[str]` The field to order by. Defaults to 'prefix'. - `page: Optional[int]` The page number for pagination. Defaults to 1. - `per_page: Optional[int]` The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `class FilterListResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create a TCP Flow Protection filter. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.create(FilterCreateParams**kwargs) -> FilterCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters` Create a TCP Flow Protection filter for an account. ### Parameters - `account_id: str` Identifier. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. ### Returns - `class FilterCreateResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) filter = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", expression="ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", mode="mode", ) print(filter.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Delete all TCP Flow Protection filters. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.bulk_delete(FilterBulkDeleteParams**kwargs) -> FilterBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters` Delete all TCP Flow Protection filters for an account. ### Parameters - `account_id: str` Identifier. ### Returns - `class FilterBulkDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.bulk_delete( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Filter List Response - `class FilterListResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Filter Create Response - `class FilterCreateResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Filter Bulk Delete Response - `class FilterBulkDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` # Items ## Get TCP Flow Protection filter. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.items.get(strfilter_id, ItemGetParams**kwargs) -> ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters/{filter_id}` Get a TCP Flow Protection filter specified by the given UUID. ### Parameters - `account_id: str` Identifier. - `filter_id: str` UUID. ### Returns - `class ItemGetResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) item = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.items.get( filter_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Update TCP Flow Protection filter. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.items.edit(strfilter_id, ItemEditParams**kwargs) -> ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters/{filter_id}` Update a TCP Flow Protection filter specified by the given UUID. ### Parameters - `account_id: str` Identifier. - `filter_id: str` UUID. - `expression: Optional[str]` The new filter expression. Optional. - `mode: Optional[str]` The new mode for the filter. Optional. Must be one of 'enabled', 'disabled', 'monitoring'. ### Returns - `class ItemEditResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.items.edit( filter_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "expression": "ip.dst in { 192.0.2.0/24 198.51.100.0/24 } and tcp.srcport in { 80 443 10000..65535 }", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z" } } ``` ## Delete TCP Flow Protection filter. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.items.delete(strfilter_id, ItemDeleteParams**kwargs) -> ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/filters/{filter_id}` Delete a TCP Flow Protection filter specified by the given UUID. ### Parameters - `account_id: str` Identifier. - `filter_id: str` UUID. ### Returns - `class ItemDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) item = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.filters.items.delete( filter_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `class ItemGetResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Item Edit Response - `class ItemEditResponse: …` - `id: str` The unique ID of the expression filter. - `created_on: datetime` The creation timestamp of the expression filter. - `expression: str` The filter expression. - `mode: str` The filter's mode. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the expression filter. ### Item Delete Response - `class ItemDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` # Rules ## List all TCP Flow Protection rules. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.list(RuleListParams**kwargs) -> SyncV4PagePaginationArray[RuleListResponse]` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules` List all TCP Flow Protection rules for an account. ### Parameters - `account_id: str` Identifier. - `direction: Optional[str]` The direction of ordering (ASC or DESC). Defaults to 'ASC'. - `order: Optional[str]` The field to order by. Defaults to 'prefix'. - `page: Optional[int]` The page number for pagination. Defaults to 1. - `per_page: Optional[int]` The number of items per page. Must be between 10 and 1000. Defaults to 25. ### Returns - `class RuleListResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create TCP Flow Protection rule. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.create(RuleCreateParams**kwargs) -> RuleCreateResponse` **post** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules` Create a TCP Flow Protection rule for an account. ### Parameters - `account_id: str` Identifier. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `mode: str` The mode for the TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. ### Returns - `class RuleCreateResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) rule = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", burst_sensitivity="burst_sensitivity", mode="mode", name="name", rate_sensitivity="rate_sensitivity", scope="scope", ) print(rule.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Delete all TCP Flow Protection rules. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.bulk_delete(RuleBulkDeleteParams**kwargs) -> RuleBulkDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules` Delete all TCP Flow Protection rules for an account. ### Parameters - `account_id: str` Identifier. ### Returns - `class RuleBulkDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.bulk_delete( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Rule List Response - `class RuleListResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Rule Create Response - `class RuleCreateResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Rule Bulk Delete Response - `class RuleBulkDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` # Items ## Get TCP Flow Protection rule. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.items.get(strrule_id, ItemGetParams**kwargs) -> ItemGetResponse` **get** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules/{rule_id}` Get a TCP Flow Protection rule specified by the given UUID. ### Parameters - `account_id: str` Identifier. - `rule_id: str` UUID. ### Returns - `class ItemGetResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) item = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.items.get( rule_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Update TCP Flow Protection rule. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.items.edit(strrule_id, ItemEditParams**kwargs) -> ItemEditResponse` **patch** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules/{rule_id}` Update a TCP Flow Protection rule specified by the given UUID. ### Parameters - `account_id: str` Identifier. - `rule_id: str` UUID. - `burst_sensitivity: Optional[str]` The new burst sensitivity. Optional. Must be one of 'low', 'medium', 'high'. - `mode: Optional[str]` The new mode for TCP Flow Protection. Optional. Must be one of 'enabled', 'disabled', 'monitoring'. - `rate_sensitivity: Optional[str]` The new rate sensitivity. Optional. Must be one of 'low', 'medium', 'high'. ### Returns - `class ItemEditResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.items.edit( rule_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "id", "burst_sensitivity": "burst_sensitivity", "created_on": "2019-12-27T18:11:19.117Z", "mode": "mode", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "rate_sensitivity": "rate_sensitivity", "scope": "scope" } } ``` ## Delete TCP Flow Protection rule. `ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.items.delete(strrule_id, ItemDeleteParams**kwargs) -> ItemDeleteResponse` **delete** `/accounts/{account_id}/magic/advanced_tcp_protection/configs/tcp_flow_protection/rules/{rule_id}` Delete a TCP Flow Protection rule specified by the given UUID. ### Parameters - `account_id: str` Identifier. - `rule_id: str` UUID. ### Returns - `class ItemDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) item = client.ddos_protection.advanced_tcp_protection.tcp_flow_protection.rules.items.delete( rule_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Item Get Response - `class ItemGetResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Item Edit Response - `class ItemEditResponse: …` - `id: str` The unique ID of the TCP Flow Protection rule. - `burst_sensitivity: str` The burst sensitivity. Must be one of 'low', 'medium', 'high'. - `created_on: datetime` The creation timestamp of the TCP Flow Protection rule. - `mode: str` The mode for TCP Flow Protection. Must be one of 'enabled', 'disabled', 'monitoring'. - `modified_on: datetime` The last modification timestamp of the TCP Flow Protection rule. - `name: str` The name of the TCP Flow Protection rule. Value is relative to the 'scope' setting. For 'global' scope, name should be 'global'. For either the 'region' or 'datacenter' scope, name should be the actual name of the region or datacenter, e.g., 'wnam' or 'lax'. - `rate_sensitivity: str` The rate sensitivity. Must be one of 'low', 'medium', 'high'. - `scope: str` The scope for the TCP Flow Protection rule. Must be one of 'global', 'region', or 'datacenter'. ### Item Delete Response - `class ItemDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true`