Skip to content

Define onlyIfUnchanged parameter for CreateOrUpdate and Delete operations #11033

@heaths

Description

@heaths

Instead of defining an accessConditions parameter that takes an IfMatch or IfNoneMatch property (mutually exclusive), we have decided to define a boolean onlyIfUnchanged parameter that defaults to false for CreateOrUpdate and Delete operations on SearchServiceClient for models that define an ETag.

The idea is to make these methods simple to consume without understanding a lot of how the HTTP headers must be set. This same design was inspired from AppConfiguration.

For CreateOrUpdate, this is straight forward: we already take entire models that have an ETag, so you just get that and, if onlyIfUnchanged is true, pass the If-Match header.

For Delete, which currently takes only a string name + accessConditions, we'll make the following changes:

  • Keep the string name overload, but remove accessConditions. This will unconditionally delete resources.
  • Define an overload that takes the full model (like CreateOrUpdate) and defines the boolean onlyIfUnchanged.

Metadata

Metadata

Assignees

Labels

ClientThis issue points to a problem in the data-plane of the library.Search

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions