Table of Contents

Interface IZoneAccessRulesApi

Namespace
Cloudflare.NET.Zones.AccessRules
Assembly
Cloudflare.NET.dll

Defines the contract for managing IP Access Rules at the zone level.

Zone-level rules apply only to traffic for a specific zone.

public interface IZoneAccessRulesApi

Methods

CreateAsync(string, CreateAccessRuleRequest, CancellationToken)

Creates a new IP Access Rule for the specified zone.

Task<AccessRule> CreateAsync(string zoneId, CreateAccessRuleRequest request, CancellationToken cancellationToken = default)

Parameters

zoneId string

The ID of the zone.

request CreateAccessRuleRequest

The request containing the details of the rule to create.

cancellationToken CancellationToken

A cancellation token.

Returns

Task<AccessRule>

The created access rule.

DeleteAsync(string, string, CancellationToken)

Deletes an IP Access Rule from the specified zone.

Task DeleteAsync(string zoneId, string ruleId, CancellationToken cancellationToken = default)

Parameters

zoneId string

The ID of the zone.

ruleId string

The ID of the rule to delete.

cancellationToken CancellationToken

A cancellation token.

Returns

Task

GetAsync(string, string, CancellationToken)

Gets a single IP Access Rule for a zone by its ID.

Task<AccessRule> GetAsync(string zoneId, string ruleId, CancellationToken cancellationToken = default)

Parameters

zoneId string

The ID of the zone.

ruleId string

The ID of the rule to retrieve.

cancellationToken CancellationToken

A cancellation token.

Returns

Task<AccessRule>

The requested access rule.

ListAllAsync(string, ListAccessRulesFilters?, CancellationToken)

Lists all IP Access Rules for the specified zone, automatically handling pagination.

IAsyncEnumerable<AccessRule> ListAllAsync(string zoneId, ListAccessRulesFilters? filters = null, CancellationToken cancellationToken = default)

Parameters

zoneId string

The ID of the zone.

filters ListAccessRulesFilters

Optional filters to apply to the list operation. Pagination parameters (Page, PerPage) will be ignored.

cancellationToken CancellationToken

A cancellation token.

Returns

IAsyncEnumerable<AccessRule>

An asynchronous stream of all access rules matching the criteria.

ListAsync(string, ListAccessRulesFilters?, CancellationToken)

Lists all IP Access Rules for the specified zone, allowing for manual pagination control.

Task<PagePaginatedResult<AccessRule>> ListAsync(string zoneId, ListAccessRulesFilters? filters = null, CancellationToken cancellationToken = default)

Parameters

zoneId string

The ID of the zone.

filters ListAccessRulesFilters

Optional filters to apply to the list operation, including pagination parameters.

cancellationToken CancellationToken

A cancellation token.

Returns

Task<PagePaginatedResult<AccessRule>>

A single page of access rules along with pagination information.

Remarks

This method is intended for developers who need to control the pagination process manually. Use the properties of the returned PagePaginatedResult<T> to determine if there are more pages and to construct the filter for the next call.

UpdateAsync(string, string, UpdateAccessRuleRequest, CancellationToken)

Updates an existing IP Access Rule for the specified zone.

Task<AccessRule> UpdateAsync(string zoneId, string ruleId, UpdateAccessRuleRequest request, CancellationToken cancellationToken = default)

Parameters

zoneId string

The ID of the zone.

ruleId string

The ID of the rule to update.

request UpdateAccessRuleRequest

The request containing the fields to update.

cancellationToken CancellationToken

A cancellation token.

Returns

Task<AccessRule>

The updated access rule.