Table of Contents

Class SchemaVersion

Namespace
Azure.Iot.Operations.Services.EdgeRegistry.Generated
Assembly
Azure.Iot.Operations.Services.dll

A specific Version of a Schema. Self-contained: combines the generic Version fields and the schema-specific fields into one schema, with integer-typed versionId and ancestor.

public class SchemaVersion : IJsonOnDeserialized, IJsonOnSerializing
Inheritance
SchemaVersion
Implements
Inherited Members

Properties

Ancestor

The versionId of this Version's ancestor, or this Version's versionId if it has no ancestor.

[JsonPropertyName("ancestor")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public ulong Ancestor { get; set; }

Property Value

ulong

CompatibilityValidated

When compatibility validation is enabled, indicates whether the server has validated that the Version conforms to the rules defined by its Resource's meta.compatibility attribute.

[JsonPropertyName("compatibilityValidated")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public ValidationStatus? CompatibilityValidated { get; set; }

Property Value

ValidationStatus

ContentType

The media type of the entity as defined by RFC9110.

[JsonPropertyName("contentType")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string? ContentType { get; set; }

Property Value

string

CreatedAt

The date/time of when the entity was created.

[JsonPropertyName("createdAt")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public DateTime CreatedAt { get; set; }

Property Value

DateTime

Description

A human-readable summary of the purpose of the entity.

[JsonPropertyName("description")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string? Description { get; set; }

Property Value

string

Document

The raw schema document for this Version as base64-encoded bytes.

[JsonPropertyName("document")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public byte[] Document { get; set; }

Property Value

byte[]

DocumentHash

The hash of the schema document for this Version.

[JsonPropertyName("documentHash")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public string DocumentHash { get; set; }

Property Value

string

Documentation

A URL to additional information about this entity.

[JsonPropertyName("documentation")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string? Documentation { get; set; }

Property Value

string

Epoch

A numeric value used to determine whether an entity has been modified.

[JsonPropertyName("epoch")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public ulong Epoch { get; set; }

Property Value

ulong

Extensions

Extension-specific attributes.

[JsonPropertyName("extensions")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public Dictionary<string, byte[]> Extensions { get; set; }

Property Value

Dictionary<string, byte[]>

Format

Schema format identifier.

[JsonPropertyName("format")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public string Format { get; set; }

Property Value

string

FormatValidated

When format validation is enabled, indicates whether the server has validated that the Version conforms to the rules defined by its format attribute.

[JsonPropertyName("formatValidated")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public ValidationStatus? FormatValidated { get; set; }

Property Value

ValidationStatus

Icon

A URL to a graphical icon for the owning entity.

[JsonPropertyName("icon")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string? Icon { get; set; }

Property Value

string

IsDefault

Indicates whether this Version is the default Version of the owning Resource.

[JsonPropertyName("isDefault")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public bool IsDefault { get; set; }

Property Value

bool

Labels

A mechanism in which additional metadata about the entity can be stored without changing the model definition of the entity. Labels can be used for querying.

[JsonPropertyName("labels")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public List<Label> Labels { get; set; }

Property Value

List<Label>

ModifiedAt

The date/time of when the entity was last updated.

[JsonPropertyName("modifiedAt")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public DateTime ModifiedAt { get; set; }

Property Value

DateTime

Name

Human-readable name.

[JsonPropertyName("name")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public string? Name { get; set; }

Property Value

string

ResourceId

Schema (Resource) identifier.

[JsonPropertyName("resourceId")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public string ResourceId { get; set; }

Property Value

string

VersionId

Version identifier.

[JsonPropertyName("versionId")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public ulong VersionId { get; set; }

Property Value

ulong

Xid

Full XID path.

[JsonPropertyName("xid")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonRequired]
public string Xid { get; set; }

Property Value

string