Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions specification/storage/Microsoft.BlobStorage/models.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -1279,6 +1279,14 @@ alias AcceptRangesResponseHeader = {
@header("Accept-Ranges") acceptRanges?: string;
};

/** The private accept ranges response header. */
alias AcceptRangesResponseHeaderPrivate = {
/** Indicates that the service supports requests for partial blob content. */
@access(Access.internal)
@header("Accept-Ranges")
acceptRanges?: string;
};

/** The is current version response header. */
alias IsCurrentVersionResponseHeader = {
/** The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header. */
Expand Down Expand Up @@ -1492,13 +1500,29 @@ alias RequestServerEncryptedResponseHeader = {
isServerEncrypted?: boolean;
};

/** The private request server encrypted response header. */
alias RequestServerEncryptedResponseHeaderPrivate = {
/** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */
@access(Access.internal)
@header("x-ms-request-server-encrypted")
isServerEncrypted?: boolean;
};

/** The server encrypted response header. */
alias ServerEncryptedResponseHeader = {
/** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */
@header("x-ms-server-encrypted")
isServerEncrypted?: boolean;
};

/** The server encrypted response header. */
alias ServerEncryptedResponseHeaderPrivate = {
/** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */
@access(Access.internal)
@header("x-ms-server-encrypted")
isServerEncrypted?: boolean;
};

/** The legal hold response header. */
alias LegalHoldResponseHeader = {
/** Specifies the legal hold status to set on the blob. */
Expand Down Expand Up @@ -1527,6 +1551,14 @@ alias BlobSequenceNumberResponseHeader = {
blobSequenceNumber: int64;
};

/** The private blob sequence number response header. */
alias BlobSequenceNumberResponseHeaderPrivate = {
/** The current sequence number for a page blob. This header is not returned for block blobs or append blobs. */
@access(Access.internal)
@header("x-ms-blob-sequence-number")
blobSequenceNumber: int64;
};

/** The blob expiration options parameter. */
alias BlobExpiryOptionsParameter = {
/** Required. Indicates mode of the expiry time */
Expand Down Expand Up @@ -1601,6 +1633,14 @@ alias VersionIdResponseHeader = {
versionId: string;
};

/** The private version ID response header. */
alias VersionIdResponseHeaderPrivate = {
/** A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob. */
@access(Access.internal)
@header("x-ms-version-id")
versionId: string;
};

/** The creation time response header. */
alias CreationTimeResponseHeader = {
/** Returns the date and time the blob was created. */
Expand All @@ -1619,6 +1659,16 @@ alias LastModifiedResponseHeader = {
lastModified: utcDateTime;
};

/** The private last modified response header */
alias LastModifiedResponseHeaderPrivate = {
/** The date/time that the container was last modified. */
#suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API"
@encode("rfc7231")
@access(Access.internal)
@header("Last-Modified")
lastModified: utcDateTime;
};

/** The Date response header */
alias DateResponseHeader = {
/** UTC date/time value generated by the service that indicates the time at which the response was initiated */
Expand All @@ -1628,12 +1678,30 @@ alias DateResponseHeader = {
date: utcDateTime;
};

/** The private Date response header */
alias DateResponseHeaderPrivate = {
/** UTC date/time value generated by the service that indicates the time at which the response was initiated */
#suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API"
@encode("rfc7231")
@access(Access.internal)
@header("Date")
date: utcDateTime;
};

/** The ETag response header */
alias EtagResponseHeader = {
/** The ETag contains a value that you can use to perform operations conditionally. */
@header("ETag") eTag: string;
};

/** The private ETag response header */
alias EtagResponseHeaderPrivate = {
/** The ETag contains a value that you can use to perform operations conditionally. */
@access(Access.internal)
@header("ETag")
eTag: string;
};

/** The copy source tags header parameter. */
alias CopySourceTagsParameter = {
/** Optional, default 'replace'. Indicates if source tags should be copied or replaced with the tags specified by x-ms-tags. */
Expand Down Expand Up @@ -1777,6 +1845,14 @@ alias EncryptionScopeResponseHeader = {
encryptionScope?: string;
};

/** The private encryption scope response header. */
alias EncryptionScopeResponseHeaderPrivate = {
/** If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range */
@access(Access.internal)
@header("x-ms-encryption-scope")
encryptionScope?: string;
};

/** The blob content disposition parameter. */
alias BlobContentDispositionParameter = {
/** Optional. Sets the blob's content disposition. If specified, this property is stored with the blob and returned with a read request. */
Expand Down Expand Up @@ -1920,6 +1996,14 @@ alias EncryptionKeySha256ResponseHeader = {
encryptionKeySha256?: string;
};

/** The private encryption key SHA256 response header. */
alias EncryptionKeySha256ResponseHeaderPrivate = {
/** The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key. */
@access(Access.internal)
@header("x-ms-encryption-key-sha256")
encryptionKeySha256?: string;
};

/** The encryption key parameter. */
alias EncryptionKeyParameter = {
/** Optional. Version 2019-07-07 and later. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, the request will be encrypted with the root account key. */
Expand Down Expand Up @@ -2218,6 +2302,7 @@ alias IsHierarchicalNamespaceEnabled = {

alias StructuredBodyTypeResponseHeader = {
/** Indicates the response body contains a structured message and specifies the message schema version and properties. */
@access(Access.internal)
@header("x-ms-structured-body")
structuredBodyType?: string;
};
Expand All @@ -2230,12 +2315,14 @@ alias StructuredContentLengthParameter = {

alias StructuredContentLengthResponseHeader = {
/** The length of the blob/file content inside the message body when the response body is returned as a structured message. Will always be smaller than Content-Length. */
@access(Access.internal)
@header("x-ms-structured-content-length")
structuredContentLength?: int64;
};

alias StructuredBodyParameter = {
/** Required if the request body is a structured message. Specifies the message schema version and properties. */
@access(Access.internal)
@header("x-ms-structured-body")
structuredBodyType?: string;
};
Expand Down
61 changes: 31 additions & 30 deletions specification/storage/Microsoft.BlobStorage/routes.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace Storage.Blob {
alias ApiVersionHeader = {
/** Specifies the version of the operation to use for this request. */
@apiVersion
@access(Access.internal)
@header("x-ms-version")
version: string;
};
Expand Down Expand Up @@ -225,9 +226,9 @@ namespace Storage.Blob {
},
{
@statusCode statusCode: 201;
...EtagResponseHeader;
...LastModifiedResponseHeader;
...DateResponseHeader;
...EtagResponseHeaderPrivate;
...LastModifiedResponseHeaderPrivate;
...DateResponseHeaderPrivate;
}
>;

Expand All @@ -246,7 +247,7 @@ namespace Storage.Blob {
...MetadataHeaders;
...EtagResponseHeader;
...LastModifiedResponseHeader;
...DateResponseHeader;
...DateResponseHeaderPrivate;
...LeaseDurationResponseHeader;
...LeaseStateResponseHeader;
...LeaseStatusResponseHeader;
Expand Down Expand Up @@ -287,7 +288,6 @@ namespace Storage.Blob {
},
{
@statusCode statusCode: 202;
...DateResponseHeader;
}
>;

Expand All @@ -306,9 +306,9 @@ namespace Storage.Blob {
...IfModifiedSinceParameter;
},
{
...EtagResponseHeader;
...LastModifiedResponseHeader;
...DateResponseHeader;
...EtagResponseHeaderPrivate;
...LastModifiedResponseHeaderPrivate;
...DateResponseHeaderPrivate;
}
>;

Expand Down Expand Up @@ -680,6 +680,7 @@ namespace Storage.Blob {
rangeGetContentCrc64?: boolean,

/** Specifies the response content should be returned as a structured message and specifies the message schema version and properties. */
@access(Access.internal)
@header("x-ms-structured-body")
structuredBodyType?: string,

Expand Down Expand Up @@ -721,8 +722,8 @@ namespace Storage.Blob {
...LeaseStatusResponseHeader;
...VersionIdResponseHeader;
...IsCurrentVersionResponseHeader;
...AcceptRangesResponseHeader;
...DateResponseHeader;
...AcceptRangesResponseHeaderPrivate;
...DateResponseHeaderPrivate;
...BlobCommittedBlockCountResponseHeader;
...ServerEncryptedResponseHeader;
...EncryptionKeySha256ResponseHeader;
Expand Down Expand Up @@ -774,8 +775,8 @@ namespace Storage.Blob {
...LeaseStatusResponseHeader;
...VersionIdResponseHeader;
...IsCurrentVersionResponseHeader;
...AcceptRangesResponseHeader;
...DateResponseHeader;
...AcceptRangesResponseHeaderPrivate;
...DateResponseHeaderPrivate;
...BlobCommittedBlockCountResponseHeader;
...ServerEncryptedResponseHeader;
...EncryptionKeySha256ResponseHeader;
Expand Down Expand Up @@ -847,8 +848,8 @@ namespace Storage.Blob {
...ContentLanguageResponseHeader;
...CacheControlResponseHeader;
...BlobSequenceNumberResponseHeader;
...DateResponseHeader;
...AcceptRangesResponseHeader;
...DateResponseHeaderPrivate;
...AcceptRangesResponseHeaderPrivate;
...BlobCommittedBlockCountResponseHeader;
...ServerEncryptedResponseHeader;
...EncryptionKeySha256ResponseHeader;
Expand Down Expand Up @@ -916,7 +917,7 @@ namespace Storage.Blob {
},
{
@statusCode statusCode: 202;
...DateResponseHeader;
...DateResponseHeaderPrivate;
}
>;

Expand Down Expand Up @@ -981,10 +982,10 @@ namespace Storage.Blob {
...IfTagsParameter;
},
{
...EtagResponseHeader;
...LastModifiedResponseHeader;
...BlobSequenceNumberResponseHeader;
...DateResponseHeader;
...EtagResponseHeaderPrivate;
...LastModifiedResponseHeaderPrivate;
...BlobSequenceNumberResponseHeaderPrivate;
...DateResponseHeaderPrivate;
}
>;

Expand Down Expand Up @@ -1073,13 +1074,13 @@ namespace Storage.Blob {
...IfTagsParameter;
},
{
...EtagResponseHeader;
...LastModifiedResponseHeader;
...VersionIdResponseHeader;
...DateResponseHeader;
...RequestServerEncryptedResponseHeader;
...EncryptionKeySha256ResponseHeader;
...EncryptionScopeResponseHeader;
...EtagResponseHeaderPrivate;
...LastModifiedResponseHeaderPrivate;
...VersionIdResponseHeaderPrivate;
...DateResponseHeaderPrivate;
...RequestServerEncryptedResponseHeaderPrivate;
...EncryptionKeySha256ResponseHeaderPrivate;
...EncryptionScopeResponseHeaderPrivate;
}
>;

Expand Down Expand Up @@ -2109,7 +2110,7 @@ namespace Storage.Blob {
...LastModifiedResponseHeader;
...ContentMd5ResponseHeader;
...VersionIdResponseHeader;
...DateResponseHeader;
...DateResponseHeaderPrivate;
...RequestServerEncryptedResponseHeader;
...EncryptionKeySha256ResponseHeader;
...EncryptionScopeResponseHeader;
Expand Down Expand Up @@ -2209,7 +2210,7 @@ namespace Storage.Blob {
},
{
@statusCode statusCode: 201;
...DateResponseHeader;
...DateResponseHeaderPrivate;
...ContentMd5ResponseHeader;
...ContentCrc64ResponseHeader;
...RequestServerEncryptedResponseHeader;
Expand Down Expand Up @@ -2309,7 +2310,7 @@ namespace Storage.Blob {
...ContentMd5ResponseHeader;
...ContentCrc64ResponseHeader;
...VersionIdResponseHeader;
...DateResponseHeader;
...DateResponseHeaderPrivate;
...RequestServerEncryptedResponseHeader;
...EncryptionKeySha256ResponseHeader;
...EncryptionScopeResponseHeader;
Expand Down Expand Up @@ -2343,7 +2344,7 @@ namespace Storage.Blob {
...LastModifiedResponseHeader;
...EtagResponseHeader;
...BlobContentLengthResponseHeader;
...DateResponseHeader;
...DateResponseHeaderPrivate;
}
>;

Expand Down
Loading