Skip to content

AIP-203 question: Using IMMUTABLE and OUTPUT_ONLY together #1530

@noahdietz

Description

@noahdietz

Hello @noahdietz

I've been looking for an example when a field reasonably has IMMUTABLE + OUTPUT_ONLY. Unfortunately, didn't find an exhaustive answer.

I think IMMUTABLE + OUTPUT_ONLY conflict when attempting to update the field. Per AIP-203:

  • IMMUTABLE requires to throw INVALID_ARGUMENT
  • OUTPUT_ONLY requires to ignore the field value in the request

Also it's unclear why fields like create_time are OUTPUT_ONLY but not IMMUTABLE. I guess this timestamp isn't changed normally after the creation.

I've found the discussion #317 (comment) but it may be outdated as the behavior IDENTIFIER appeared in 2023: googleapis/googleapis@f5987af

Am I missing something?

Originally posted by @CuriousStork in #825

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions