Minio
List all the buckets for the current Endpoint URL
Optional cancellation token to cancel the operation
Task with an iterator lazily populated with objects
Check if a private bucket with the given name exists.
BucketExistsArgs Arguments Object which has bucket identifier information - bucket name, region
Optional cancellation token to cancel the operation
Task
Remove the bucket with the given name.
RemoveBucketArgs Arguments Object which has bucket identifier information like bucket name .etc.
Optional cancellation token to cancel the operation
Task
When bucketName is invalid
When bucketName is not found
When bucketName is null
Create a bucket with the given name.
MakeBucketArgs Arguments Object that has bucket info like name, location. etc
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucketName is invalid
When object-lock or another extension is not implemented
Get Versioning information on the bucket with given bucket name
GetVersioningArgs takes bucket as argument.
Optional cancellation token to cancel the operation
GetVersioningResponse with information populated from REST response
When bucketName is invalid
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
Set Versioning as specified on the bucket with given bucket name
SetVersioningArgs Arguments Object with information like Bucket name, Versioning configuration
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
When configuration XML provided is invalid
List all objects along with versions non-recursively in a bucket with a given prefix, optionally emulating a
directory
ListObjectsArgs Arguments Object with information like Bucket name, prefix, recursive listing,
versioning
Optional cancellation token to cancel the operation
An observable of items that client can subscribe to
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
If a functionality or extension (like versioning) is not implemented
For example, if you call ListObjectsAsync on a bucket with versioning
enabled or object lock enabled
Gets notification configuration for this bucket
GetBucketNotificationsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
Sets the notification configuration for this bucket
SetBucketNotificationsArgs Arguments Object with information like Bucket name, notification object
with configuration to set
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When configuration XML provided is invalid
Removes all bucket notification configurations stored on the server.
RemoveAllBucketNotificationsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When configuration XML provided is invalid
Subscribes to bucket change notifications (a Minio-only extension)
ListenBucketNotificationsArgs Arguments Object with information like Bucket name, listen events,
prefix filter keys, suffix filter keys
Optional cancellation token to cancel the operation
An observable of JSON-based notification events
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When configuration XML provided is invalid
Gets Tagging values set for this bucket
GetBucketTagsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
Tagging Object with key-value tag pairs
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
Sets the Encryption Configuration for the mentioned bucket.
SetBucketEncryptionArgs Arguments Object with information like Bucket name, encryption config
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Returns the Encryption Configuration for the mentioned bucket.
GetBucketEncryptionArgs Arguments Object encapsulating information like Bucket name
Optional cancellation token to cancel the operation
An object of type ServerSideEncryptionConfiguration
When access or secret key is invalid
When a functionality or extension is not implemented
When bucket name is invalid
When bucket is not found
Removes the Encryption Configuration for the mentioned bucket.
RemoveBucketEncryptionArgs Arguments Object encapsulating information like Bucket name
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Tagging values for this bucket
SetBucketTagsArgs Arguments Object with information like Bucket name, tag key-value pairs
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Removes Tagging values stored for the bucket.
RemoveBucketTagsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Object Lock Configuration on this bucket
SetObjectLockConfigurationArgs Arguments Object with information like Bucket name, object lock
configuration to set
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Gets the Object Lock Configuration on this bucket
GetObjectLockConfigurationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
ObjectLockConfiguration object
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When object lock configuration on bucket is not set
Removes the Object Lock Configuration on this bucket
RemoveObjectLockConfigurationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Lifecycle configuration for this bucket
SetBucketLifecycleArgs Arguments Object with information like Bucket name, Lifecycle configuration
object
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Gets Lifecycle configuration set for this bucket returned in an object
GetBucketLifecycleArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
LifecycleConfiguration Object with the lifecycle configuration
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
Removes Lifecycle configuration stored for the bucket.
RemoveBucketLifecycleArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Get Replication configuration for the bucket
GetBucketReplicationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
Replication configuration object
When access or secret key provided is invalid
When bucket name is invalid
When bucket replication configuration is not set
When a functionality or extension is not implemented
When bucket is not found
Set the Replication configuration for the bucket
SetBucketReplicationArgs Arguments Object with information like Bucket name, Replication
Configuration object
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When bucket replication configuration is not set
When a functionality or extension is not implemented
When bucket is not found
Remove Replication configuration for the bucket.
RemoveBucketReplicationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When bucket replication configuration is not set
When a functionality or extension is not implemented
When bucket is not found
Subscribes to bucket change notifications (a Minio-only extension)
Bucket to get notifications from
Events to listen for
Filter keys starting with this prefix
Filter keys ending with this suffix
Optional cancellation token to cancel the operation
An observable of JSON-based notification events
Returns current policy stored on the server for this bucket
GetPolicyArgs object has information like Bucket name.
Optional cancellation token to cancel the operation
Task that returns the Bucket policy as a json string
When bucketName is invalid
When a functionality or extension is not implemented
When a policy is not set
Sets the current bucket policy
SetPolicyArgs object has information like Bucket name and the policy to set in Json format
Optional cancellation token to cancel the operation
When bucketName is invalid
When a functionality or extension is not implemented
When a policy is not set
Task to set a policy
Removes the current bucket policy
RemovePolicyArgs object has information like Bucket name
Optional cancellation token to cancel the operation
Task to set a policy
When bucketName is invalid
When a functionality or extension is not implemented
When a policy is not set
Gets the list of objects in the bucket filtered by prefix
GetObjectListArgs Arguments Object with information like Bucket name, prefix, delimiter, marker,
versions(get version IDs of the objects)
Task with a tuple populated with objects
Optional cancellation token to cancel the operation
Gets the list of objects along with version IDs in the bucket filtered by prefix
GetObjectListArgs Arguments Object with information like Bucket name, prefix, delimiter, marker,
versions(get version IDs of the objects)
Task with a tuple populated with objects
Optional cancellation token to cancel the operation
Gets the list of objects in the bucket filtered by prefix
Bucket to list objects from
Filters all objects starting with a given prefix
Delimit the output upto this character
marks location in the iterator sequence
Task with a tuple populated with objects
Optional cancellation token to cancel the operation
Get an object. The object will be streamed to the callback given by the user.
GetObjectArgs Arguments Object encapsulates information like - bucket name, object name, server-side
encryption object, action stream, length, offset
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
If the directory to copy to is not found
Select an object's content. The object will be streamed to the callback given by the user.
SelectObjectContentArgs Arguments Object which encapsulates bucket name, object name, Select Object
Options
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
Lists all incomplete uploads in a given bucket and prefix recursively
ListIncompleteUploadsArgs Arguments Object which encapsulates bucket name, prefix, recursive
Optional cancellation token to cancel the operation
A lazily populated list of incomplete uploads
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
Remove incomplete uploads from a given bucket and objectName
RemoveIncompleteUploadArgs Arguments Object which encapsulates bucket, object names
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Presigned get url - returns a presigned url to access an object's data without credentials.URL can have a maximum
expiry of
up to 7 days or a minimum of 1 second.Additionally, you can override a set of response headers using reqParams.
PresignedGetObjectArgs Arguments object encapsulating bucket and object names, expiry time, response
headers, request date
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
Presigned post policy
PresignedPostPolicyArgs Arguments object encapsulating Policy, Expiry, Region,
Tuple of URI and Policy Form data
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Presigned Put url -returns a presigned url to upload an object without credentials.URL can have a maximum expiry of
upto 7 days or a minimum of 1 second.
PresignedPutObjectArgs Arguments Object which encapsulates bucket, object names, expiry
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Get the configuration object for Legal Hold Status
GetObjectLegalHoldArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
True if Legal Hold is ON, false otherwise
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Set the Legal Hold Status using the related configuration
SetObjectLegalHoldArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Gets Tagging values set for this object
GetObjectTagsArgs Arguments Object with information like Bucket, Object name, (optional)version Id
Optional cancellation token to cancel the operation
Tagging Object with key-value tag pairs
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
Removes an object with given name in specific bucket
RemoveObjectArgs Arguments Object encapsulates information like - bucket name, object name, optional
list of versions to be deleted
Optional cancellation token to cancel the operation
Task
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Removes list of objects from bucket
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional list of versions (for each object) to be deleted
Optional cancellation token to cancel the operation
Observable that returns delete error while deleting objects if any
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Tagging values for this object
SetObjectTagsArgs Arguments Object with information like Bucket name,Object name, (optional)version
Id, tag key-value pairs
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Removes Tagging values stored for the object
RemoveObjectTagsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Set the Retention using the configuration object
SetObjectRetentionArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
Task
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Get the Retention configuration for the object
GetObjectRetentionArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
Task
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
When object lock configuration on bucket is not set
Clears the Retention configuration for the object
ClearObjectRetentionArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
Task
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Creates object in a bucket fom input stream or filename.
PutObjectArgs Arguments object encapsulating bucket name, object name, file name, object data
stream, object size, content type.
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
If the file to copy from not found
The file stream has been disposed
The file stream cannot be read from
The file stream is currently in a read operation
For encrypted PUT operation, Access is denied if the key is wrong
Copy a source object into a new destination object.
CopyObjectArgs Arguments Object which encapsulates bucket name, object name, destination bucket,
destination object names, Copy conditions object, metadata, SSE source, destination objects
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
For encrypted copy operation, Access is denied if the key is wrong
Presigned post policy
Tests the object's existence and returns metadata about existing objects.
StatObjectArgs Arguments Object encapsulates information like - bucket name, object name,
server-side encryption object
Optional cancellation token to cancel the operation
Facts about the object
Get list of multi-part uploads matching particular uploadIdMarker
GetMultipartUploadsListArgs Arguments Object which encapsulates bucket name, prefix, recursive
Optional cancellation token to cancel the operation
Remove object with matching uploadId from bucket
RemoveUploadArgs Arguments Object which encapsulates bucket, object names, upload Id
Optional cancellation token to cancel the operation
Upload object part to bucket for particular uploadId
PutObjectArgs encapsulates bucket name, object name, upload id, part number, object data(body),
Headers, SSE Headers
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
The file stream has been disposed
The file stream cannot be read from
The file stream is currently in a read operation
For encrypted PUT operation, Access is denied if the key is wrong
Upload object in multiple parts. Private Helper function
PutObjectPartArgs encapsulates bucket name, object name, upload id, part number, object data(body)
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
The file stream has been disposed
The file stream cannot be read from
The file stream is currently in a read operation
For encrypted PUT operation, Access is denied if the key is wrong
Make a multi part copy upload for objects larger than 5GB or if CopyCondition specifies a byte range.
MultipartCopyUploadArgs Arguments object encapsulating destination and source bucket, object names,
copy conditions, size, metadata, SSE
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
For encrypted copy operation, Access is denied if the key is wrong
Start a new multi-part upload request
NewMultipartUploadPutArgs arguments object encapsulating bucket name, object name, Headers, SSE
Headers
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
For encrypted copy operation, Access is denied if the key is wrong
Start a new multi-part copy upload request
NewMultipartUploadCopyArgs arguments object encapsulating bucket name, object name, Headers, SSE
Headers
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
For encrypted copy operation, Access is denied if the key is wrong
Create the copy request, execute it and return the copy result.
CopyObjectRequestArgs Arguments Object encapsulating
Optional cancellation token to cancel the operation
Internal method to complete multi part upload of object to server.
CompleteMultipartUploadArgs Arguments object with bucket name, object name, upload id, Etags
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
For encrypted copy operation, Access is denied if the key is wrong
Advances in the stream upto currentPartSize or End of Stream
bytes read in a byte array
private helper method to remove list of objects from bucket
GetObjectArgs Arguments Object encapsulates information like - bucket name, object name etc
Optional cancellation token to cancel the operation
private helper method return the specified object from the bucket
GetObjectArgs Arguments Object encapsulates information like - bucket name, object name etc
ObjectStat object encapsulates information like - object name, size, etag etc
Optional cancellation token to cancel the operation
private helper method. It returns the specified portion or full object from the bucket
GetObjectArgs Arguments Object encapsulates information like - bucket name, object name etc
Optional cancellation token to cancel the operation
private helper method to remove list of objects from bucket
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional list of versions (for each object) to be deleted
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
private helper method to call remove objects function
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional version Id list
List of Tuples. Each tuple is Object name to List of Version IDs to be deleted
Full List of DeleteError objects. The error list from this call will be added to the full
list.
Optional cancellation token to cancel the operation
private helper method to call function to remove objects/version items in iterations of 1000 each from bucket
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional list of versions (for each object) to be deleted
List of Object names to be deleted
Full List of DeleteError objects. The error list from this call will be added to the full
list.
Optional cancellation token to cancel the operation
private helper method to remove objects/version items in iterations of 1000 each from bucket
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional list of versions (for each object) to be deleted
Full List of DeleteError objects. The error list from this call will be added to the full
list.
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
private helper method to remove objects in iterations of 1000 each from bucket
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional list of versions (for each object) to be deleted
Full List of DeleteError objects. The error list from this call will be added to the full
list.
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Creates and returns an MinIO Client
Client with no arguments to be used with other builder methods
Default error handling delegate
Runs httpClient's GetAsync method
Runs httpClient's PutObjectAsync method
Sets HTTP tracing On.Writes output to Console
Sets HTTP tracing Off.
Parse response errors if any and return relevant error messages
Create a bucket with the given name.
MakeBucketArgs Arguments Object that has bucket info like name, location. etc
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucketName is invalid
When object-lock or another extension is not implemented
List all objects in a bucket
Optional cancellation token to cancel the operation
Task with an iterator lazily populated with objects
When access or secret key is invalid
Check if a private bucket with the given name exists.
BucketExistsArgs Arguments Object which has bucket identifier information - bucket name, region
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
Remove the bucket with the given name.
RemoveBucketArgs Arguments Object which has bucket identifier information like bucket name .etc.
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
List all objects non-recursively in a bucket with a given prefix, optionally emulating a directory
ListObjectsArgs Arguments Object with information like Bucket name, prefix, recursive listing,
versioning
Optional cancellation token to cancel the operation
An observable of items that client can subscribe to
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
For example, if you call ListObjectsAsync on a bucket with versioning
enabled or object lock enabled
Gets notification configuration for this bucket
GetBucketNotificationsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
Sets the notification configuration for this bucket
SetBucketNotificationsArgs Arguments Object with information like Bucket name, notification object
with configuration to set
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When configuration XML provided is invalid
Removes all bucket notification configurations stored on the server.
RemoveAllBucketNotificationsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When configuration XML provided is invalid
Subscribes to bucket change notifications (a Minio-only extension)
ListenBucketNotificationsArgs Arguments Object with information like Bucket name, listen events,
prefix filter keys, suffix fileter keys
Optional cancellation token to cancel the operation
An observable of JSON-based notification events
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When configuration XML provided is invalid
Gets Tagging values set for this bucket
GetBucketTagsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
Tagging Object with key-value tag pairs
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
Sets the Tagging values for this bucket
SetBucketTagsArgs Arguments Object with information like Bucket name, tag key-value pairs
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Removes Tagging values stored for the bucket.
RemoveBucketTagsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Object Lock Configuration on this bucket
SetObjectLockConfigurationArgs Arguments Object with information like Bucket name, object lock
configuration to set
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Gets the Object Lock Configuration on this bucket
GetObjectLockConfigurationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
ObjectLockConfiguration object
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When object lock configuration on bucket is not set
Removes the Object Lock Configuration on this bucket
RemoveObjectLockConfigurationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Get Versioning information on the bucket with given bucket name
GetVersioningArgs takes bucket as argument.
Optional cancellation token to cancel the operation
GetVersioningResponse with information populated from REST response
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
Set Versioning as specified on the bucket with given bucket name
SetVersioningArgs Arguments Object with information like Bucket name, Versioning configuration
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Encryption Configuration for the bucket.
SetBucketEncryptionArgs Arguments Object with information like Bucket name, encryption config
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Returns the Encryption Configuration for the bucket.
GetBucketEncryptionArgs Arguments Object encapsulating information like Bucket name
Optional cancellation token to cancel the operation
An object of type ServerSideEncryptionConfiguration
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
Removes the Encryption Configuration for the bucket.
RemoveBucketEncryptionArgs Arguments Object encapsulating information like Bucket name
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Sets the Lifecycle configuration for this bucket
SetBucketLifecycleArgs Arguments Object with information like Bucket name, tag key-value pairs
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Gets Lifecycle configuration set for this bucket returned in an object
GetBucketLifecycleArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
Lifecycle Object with key-value tag pairs
When access or secret key is invalid
When bucket name is invalid
When a functionality or extension is not implemented
When bucket is not found
Removes Lifecycle configuration stored for the bucket.
RemoveBucketLifecycleArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When bucket is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Gets Replication configuration set for this bucket
GetBucketReplicationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
Replication configuration object
When access or secret key provided is invalid
When bucket name is invalid
When bucket replication configuration is not set
When a functionality or extension is not implemented
When bucket is not found
Sets the Replication configuration for this bucket
SetBucketReplicationArgs Arguments Object with information like Bucket name, Replication
Configuration object
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When bucket replication configuration is not set
When a functionality or extension is not implemented
When bucket is not found
Removes Replication configuration stored for the bucket.
RemoveBucketReplicationArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When bucket replication configuration is not set
When a functionality or extension is not implemented
When bucket is not found
Get the configuration object for Legal Hold Status
GetObjectLegalHoldArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
True if Legal Hold is ON, false otherwise
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Set the configuration for Legal Hold Status
SetObjectLegalHoldArgs Arguments Object which has object identifier information - bucket name,
object name, version ID and the status (ON/OFF) of legal-hold
Optional cancellation token to cancel the operation
Task
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Set the Retention using the configuration object
SetObjectRetentionArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
Task
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Get the Retention configuration for the object
GetObjectRetentionArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
ObjectRetentionConfiguration object which contains the Retention configuration
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
When object lock configuration on bucket is not set
Clears the Retention configuration for the object
ClearObjectRetentionArgs Arguments Object which has object identifier information - bucket name,
object name, version ID
Optional cancellation token to cancel the operation
Task
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When object lock configuration on bucket is not set
When a functionality or extension is not implemented
When configuration XML provided is invalid
Removes an object with given name in specific bucket
RemoveObjectArgs Arguments Object encapsulates information like - bucket name, object name, whether
delete all versions
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
Removes list of objects from bucket
RemoveObjectsArgs Arguments Object encapsulates information like - bucket name, List of objects,
optional list of versions (for each object) to be deleted
Optional cancellation token to cancel the operation
Observable that returns delete error while deleting objects if any
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When a functionality or extension is not implemented
Copy a source object into a new destination object.
CopyObjectArgs Arguments Object which encapsulates bucket name, object name, destination bucket,
destination object names, Copy conditions object, metadata, SSE source, destination objects
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
For encrypted copy operation, Access is denied if the key is wrong
Get an object. The object will be streamed to the callback given by the user.
GetObjectArgs Arguments Object encapsulates information like - bucket name, object name, server-side
encryption object, action stream, length, offset
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
If the directory to copy to is not found
Creates object in a bucket fom input stream or filename.
PutObjectArgs Arguments object encapsulating bucket name, object name, file name, object data
stream, object size, content type.
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
If the file to copy from not found
The file stream has been disposed
The file stream cannot be read from
The file stream is currently in a read operation
For encrypted PUT operation, Access is denied if the key is wrong
Select an object's content. The object will be streamed to the callback given by the user.
SelectObjectContentArgs Arguments Object which encapsulates bucket name, object name, Select Object
Options
Optional cancellation token to cancel the operation
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
Lists all incomplete uploads in a given bucket and prefix recursively
ListIncompleteUploadsArgs Arguments Object which encapsulates bucket name, prefix, recursive
Optional cancellation token to cancel the operation
A lazily populated list of incomplete uploads
When access or secret key provided is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
Remove incomplete uploads from a given bucket and objectName
RemoveIncompleteUploadArgs Arguments Object which encapsulates bucket, object names
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Presigned get url - returns a presigned url to access an object's data without credentials.URL can have a maximum
expiry of
up to 7 days or a minimum of 1 second.Additionally, you can override a set of response headers using reqParams.
PresignedGetObjectArgs Arguments object encapsulating bucket and object names, expiry time, response
headers, request date
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
Presigned post policy
PresignedPostPolicyArgs Arguments object encapsulating Policy, Expiry, Region,
Tuple of URI and Policy Form data
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Presigned Put url -returns a presigned url to upload an object without credentials.URL can have a maximum expiry of
upto 7 days or a minimum of 1 second.
PresignedPutObjectArgs Arguments Object which encapsulates bucket, object names, expiry
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When configuration XML provided is invalid
Tests the object's existence and returns metadata about existing objects.
StatObjectArgs Arguments Object encapsulates information like - bucket name, object name,
server-side encryption object
Optional cancellation token to cancel the operation
Facts about the object
Presigned post policy
Gets Tagging values set for this object
GetObjectTagsArgs Arguments Object with information like Bucket, Object name, (optional)version Id
Optional cancellation token to cancel the operation
Tagging Object with key-value tag pairs
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When a functionality or extension is not implemented
When object is not found
Sets the Tagging values for this object
SetObjectTagsArgs Arguments Object with information like Bucket name,Object name, (optional)version
Id, tag key-value pairs
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When object is not found
When a functionality or extension is not implemented
When configuration XML provided is invalid
Removes Tagging values stored for the object
RemoveObjectTagsArgs Arguments Object with information like Bucket name
Optional cancellation token to cancel the operation
When access or secret key is invalid
When bucket name is invalid
When object name is invalid
When bucket is not found
When a functionality or extension is not implemented
When object is not found
When configuration XML provided is invalid
Amazon AWS S3 endpoints for various regions.
Gets Amazon S3 endpoint for the relevant region.
A singleton bucket/region cache map.
Returns AWS region for given bucket name.
Adds bucket name and its region to BucketRegionCache.
Removes region cache of the bucket if any.
Returns true if given bucket name is in the map else false.
Updates Region cache for given bucket.
A container class to hold all the Conditions to be checked before copying an object.
Get range size
Get all the set copy conditions map.
Clone CopyConditions object
new CopyConditions object
Set modified condition, copy object modified since given time.
When date is null
Unset modified condition, copy object modified since given time.
When date is null
Set matching ETag condition, copy object which matches
the following ETag.
When etag is null
Set matching ETag none condition, copy object which does not
match the following ETag.
When etag is null
Set replace metadata directive which specifies that server side copy needs to replace metadata
on destination with custom metadata provided in the request.
Return true if replace metadata directive is specified
Set Byte Range condition, copy object which falls within the
start and end byte range specified by user
When firstByte is null or lastByte is null
ServerSideEncryption interface
Server-side encryption with customer provided keys (SSE-C)
Server-side encryption option for source side SSE-C copy operation
Server-side encryption with AWS KMS managed keys
Serialize context into JSON string.
Serialized JSON context
Server-side encryption with S3 managed encryption keys (SSE-S3)
Arn holds ARN information that will be sent to the web service,
ARN desciption can be found in http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
Pass valid Arn string on aws to constructor
Constructs new ARN based on the given partition, service, region, account id and resource
Helper class to parse NotificationConfiguration from AWS S3 response XML.
AddTopic adds a given topic config to the general bucket notification config
AddQueue adds a given queue config to the general bucket notification config
AddLambda adds a given lambda config to the general bucket notification config
RemoveTopicByArn removes all topic configurations that match the exact specified ARN
RemoveQueueByArn removes all queue configurations that match the exact specified ARN
RemoveLambdaByArn removes all lambda configurations that match the exact specified ARN
Helper methods to guide XMLSerializer
Serializes the notification configuration as an XML string
EventType is a S3 notification event associated to the bucket notification configuration
FilterRule - child of S3Key, a tag in the notification xml which
carries suffix/prefix filters
LambdaConfig carries one single cloudfunction notification configuration
Helper class to deserialize notifications generated
from MinioNotificaitonRaw by ListenBucketNotifications
Stores raw json events generated by ListenBucketNotifications
The Minio client doesn't depend on a JSON library so we can let
the caller use a library of their choice
NotificationConfig - represents one single notification configuration
such as topic, queue or lambda configuration
AddFilterSuffix sets the suffix configuration to the current notification config
AddFilterPrefix sets the prefix configuration to the current notification config
QueueConfig carries one single queue notification configuration
S3Key - child of Filter, a tag in the notification xml which carries suffix/prefix
filters and allows filtering event notifications based on S3 Object key's name
TopicConfig carries one single topic notification configuration
Implement equality for this object
Get the populated dictionary of policy data.
Dictionary of policy data
Set expiration policy.
Expiration time for the policy
Set key policy.
Object name for the policy
Set key prefix policy.
Object name prefix for the policy
Set bucket policy.
Bucket name for the policy
Set cache control
CacheControl for the policy
Set content type policy.
ContentType for the policy
Set content encoding
ContentEncoding for the policy
Set content length
ContentLength for the policy
Set content range
ContentRange for the policy
Set session token
set session token
Set the success action status of the object for this policy based upload.
Success action status
Set user specified metadata as a key/value couple.
Key and Value to insert in the metadata
Set signature algorithm policy.
Set signature algorithm used for the policy
Set credential policy.
Set credential string for the policy
Set date policy.
Set date for the policy
Serialize policy into JSON string.
Serialized JSON policy
Compute base64 encoded form of JSON policy.
Base64 encoded string of JSON policy
Verify if bucket is set in policy.
true if bucket is set
Verify if key is set in policy.
true if key is set
Verify if expiration is set in policy.
true if expiration is set
Maximum number of parts
Minimum part size
Minimum PUT part size
Minimum COPY part size
Maximum part size
Maximum streaming object size
maxSinglePutObjectSize - maximum size 5GiB of object per PUT operation
maxSingleCopyObjectSize - 5GiB
maxMultipartPutObjectSize - maximum size 5TiB of object for Multipart operation
OptimalReadBufferSize - optimal buffer 5MiB used for reading through Read operation
SSEGenericHeader is the AWS SSE header used for SSE-S3 and SSE-KMS.
SSEKMSKeyId is the AWS SSE KMS Key-Id
SSEKMSContext is the AWS SSE KMS Context.
Get corresponding region for input host.
S3 API endpoint
Region corresponding to the endpoint. Default is 'us-east-1'
Validates URI to check if it is well formed. Otherwise cry foul.
Validate Url endpoint
true/false
IsValidIP parses input string for ip address validity.
IsValidBucketName - verify bucket name in accordance with
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html
Bucket to test existence of
Calculate part size and number of parts required.
If true, use COPY part size, else use PUT part size
Check if input expires value is valid.
time to expiry in seconds
bool
Logs the request sent to server and corresponding response
Connects to Cloud Storage with HTTPS if this method is invoked on client object
Uses webproxy for all requests if this method is invoked on client object.
The MinioClient instance used
Information on the proxy server in the setup.
Uses the set timeout for all requests if this method is invoked on client object
The MinioClient instance used
Timeout in milliseconds.
Allows to add retry policy handler
The MinioClient instance used
Delegate that will wrap execution of http client requests.
Allows to add retry policy handler
The MinioClient instance used
Delegate that will wrap execution of http client requests.
Allows end user to define the Http server and pass it as a parameter
The MinioClient instance used
Instance of HttpClient
Dispose the HttpClient when leaving
With provider for credentials and session token if being used
Sets app version and name. Used for constructing User-Agent header in all HTTP requests
Returns the User-Agent header for the request
Runs httpClient's PutObjectAsync method
Actual doer that executes the request on the server
List of handlers to override default handling
The build of HttpRequestMessageBuilder
boolean; if true role credentials, otherwise IAM user
Optional cancellation token to cancel the operation
ResponseResult
Constructs a HttpRequestMessageBuilder using bucket/object names from Args.
Calls overloaded CreateRequest method.
The direct descendant of BucketArgs class, args with populated values from Input
A HttpRequestMessageBuilder
Constructs a HttpRequestMessage using bucket/object names from Args.
Calls overloaded CreateRequest method.
The direct descendant of ObjectArgs class, args with populated values from Input
A HttpRequestMessage
Constructs an HttpRequestMessage builder. For AWS, this function
has the side-effect of overriding the baseUrl in the HttpClient
with region specific host path or virtual style path.
HTTP method
Bucket Name
Object Name
headerMap
Content Type
request body
query string
boolean to define bucket creation
A HttpRequestMessage builder
When bucketName is invalid
Null Check for Args object.
Expected to be called from CreateRequest
The child object of Args class
Resolve region of the bucket.
Delegate errors to handlers
V4Authenticator implements IAuthenticator interface.
Authenticator constructor.
Access key id
Secret access key
Region if specifically set
sessionToken
Implements Authenticate interface method for IAuthenticator.
Instantiated IRestRequest object
boolean; if true role credentials, otherwise IAM user
Get credential string of form {ACCESSID}/date/region/serviceKind/aws4_request.
Signature initiated date
Region for the credential string
boolean; if true role credentials, otherwise IAM user
Credential string for the authorization header
Constructs an authorization header.
All signed http headers
Hexadecimally encoded computed signature
Date for signature to be signed
Requested region
boolean; if true role credentials, otherwise IAM user
Fully formed authorization header
Concatenates sorted list of signed http headers.
Sorted dictionary of headers to be signed
All signed headers
Determines and returns the kind of service
boolean; if true role credentials, otherwise IAM user
returns the kind of service as a string
Generates signing key based on the region and date.
Requested region
Date for signature to be signed
boolean; if true role credentials, otherwise IAM user
bytes of computed hmac
Compute hmac of input content with key.
Hmac key
Bytes to be hmac computed
Computed hmac of input content
Get string to sign.
Requested region
Date for signature to be signed
Hexadecimal encoded sha256 checksum of canonicalRequest
boolean; if true role credentials, otherwise IAM user
String to sign
Get scope.
Requested region
Date for signature to be signed
boolean; if true role credentials, otherwise IAM user
Scope string
Compute sha256 checksum.
Bytes body
Bytes of sha256 checksum
Convert bytes to hexadecimal string.
Bytes of any checksum
Hexlified string of input bytes
Generate signature for post policy.
Requested region
Date for signature to be signed
Base64 encoded policy JSON
Computed signature
Presigns any input client object with a requested expiry.
Instantiated requestBuilder
Expiration in seconds
Region of storage
Value for session token
Optional requestBuilder date and time in UTC
Presigned url
Get presign canonical requestBuilder.
HTTP method used for this requestBuilder
Full url for this requestBuilder, including all query parameters except for headers and
X-Amz-Signature
The key-value of headers.
Presigned canonical requestBuilder
Get canonical requestBuilder.
Instantiated requestBuilder object
Dictionary of http headers to be signed
Canonical Request
Get headers to be signed.
Instantiated requesst
Sorted dictionary of headers to be signed
Sets 'x-amz-date' http header.
Instantiated requestBuilder object
Date for signature to be signed
Set 'Host' http header.
Instantiated requestBuilder object
Host url
Set 'X-Amz-Security-Token' http header.
Instantiated requestBuilder object
session token
Set 'x-amz-content-sha256' http header.
Instantiated requestBuilder object
boolean; if true role credentials, otherwise IAM user
Gets a that will complete when the completes or when the specified has cancellation requested.
The type of the task result.
The task to wait on for completion.
The to monitor for a cancellation request.
The representing the asynchronous wait.
Represents a min priority queue.
Specifies the type of elements in the queue.
Specifies the type of priority associated with enqueued elements.
Implements an array-backed quaternary min-heap. Each element is enqueued with an associated priority
that determines the dequeue order: elements with the lowest priority get dequeued first.
Represents an implicit heap-ordered complete d-ary tree, stored as an array.
Custom comparer used to order the heap.
Lazily-initialized collection used to expose the contents of the queue.
The number of nodes in the heap.
Version updated on mutation to help validate enumerators operate on a consistent state.
Specifies the arity of the d-ary heap, which here is quaternary.
It is assumed that this value is a power of 2.
The binary logarithm of .
Initializes a new instance of the class.
Initializes a new instance of the class
with the specified initial capacity.
Initial capacity to allocate in the underlying heap array.
The specified was negative.
Initializes a new instance of the class
with the specified custom priority comparer.
Custom comparer dictating the ordering of elements.
Uses if the argument is .
Initializes a new instance of the class
with the specified initial capacity and custom priority comparer.
Initial capacity to allocate in the underlying heap array.
Custom comparer dictating the ordering of elements.
Uses if the argument is .
The specified was negative.
Initializes a new instance of the class
that is populated with the specified elements and priorities.
The pairs of elements and priorities with which to populate the queue.
The specified argument was .
Constructs the heap using a heapify operation,
which is generally faster than enqueuing individual elements sequentially.
Initializes a new instance of the class
that is populated with the specified elements and priorities,
and with the specified custom priority comparer.
The pairs of elements and priorities with which to populate the queue.
Custom comparer dictating the ordering of elements.
Uses if the argument is .
The specified argument was .
Constructs the heap using a heapify operation,
which is generally faster than enqueuing individual elements sequentially.
Gets the number of elements contained in the .
Gets the priority comparer used by the .
Gets a collection that enumerates the elements of the queue in an unordered manner.
The enumeration does not order items by priority, since that would require N * log(N) time and N space.
Items are instead enumerated following the internal array heap layout.
Adds the specified element with associated priority to the .
The element to add to the .
The priority with which to associate the new element.
Returns the minimal element from the without removing it.
The is empty.
The minimal element of the .
Removes and returns the minimal element from the .
The queue is empty.
The minimal element of the .
Removes the minimal element and then immediately adds the specified element with associated priority to the ,
The element to add to the .
The priority with which to associate the new element.
The queue is empty.
The minimal element removed before performing the enqueue operation.
Implements an extract-then-insert heap operation that is generally more efficient
than sequencing Dequeue and Enqueue operations: in the worst case scenario only one
shift-down operation is required.
Removes the minimal element from the ,
and copies it to the parameter,
and its associated priority to the parameter.
The removed element.
The priority associated with the removed element.
if the element is successfully removed;
if the is empty.
Returns a value that indicates whether there is a minimal element in the ,
and if one is present, copies it to the parameter,
and its associated priority to the parameter.
The element is not removed from the .
The minimal element in the queue.
The priority associated with the minimal element.
if there is a minimal element;
if the is empty.
Adds the specified element with associated priority to the ,
and immediately removes the minimal element, returning the result.
The element to add to the .
The priority with which to associate the new element.
The minimal element removed after the enqueue operation.
Implements an insert-then-extract heap operation that is generally more efficient
than sequencing Enqueue and Dequeue operations: in the worst case scenario only one
shift-down operation is required.
Enqueues a sequence of element/priority pairs to the .
The pairs of elements and priorities to add to the queue.
The specified argument was .
Enqueues a sequence of elements pairs to the ,
all associated with the specified priority.
The elements to add to the queue.
The priority to associate with the new elements.
The specified argument was .
Removes all items from the .
Ensures that the can hold up to
items without further expansion of its backing storage.
The minimum capacity to be used.
The specified is negative.
The current capacity of the .
Sets the capacity to the actual number of items in the ,
if that is less than 90 percent of current capacity.
This method can be used to minimize a collection's memory overhead
if no new elements will be added to the collection.
Grows the priority queue to match the specified min capacity.
Removes the node from the root of the heap
Gets the index of an element's parent.
Gets the index of the first child of an element.
Converts an unordered list into a heap.
Moves a node up in the tree to restore heap order.
Moves a node up in the tree to restore heap order.
Moves a node down in the tree to restore heap order.
Moves a node down in the tree to restore heap order.
Initializes the custom comparer to be used internally by the heap.
Enumerates the contents of a , without any ordering guarantees.
Enumerates the element and priority pairs of a ,
without any ordering guarantees.
Releases all resources used by the .
Advances the enumerator to the next element of the .
if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
Gets the element at the current position of the enumerator.
Returns an enumerator that iterates through the .
An for the .
An that uses reference equality ()
instead of value equality () when comparing two object instances.
The type cannot be instantiated. Instead, use the property
to access the singleton instance of this type.
Gets the singleton instance.
Determines whether two object references refer to the same object instance.
The first object to compare.
The second object to compare.
if both and refer to the same object instance
or if both are ; otherwise, .
This API is a wrapper around .
It is not necessarily equivalent to calling .
Returns a hash code for the specified object. The returned hash code is based on the object
identity, not on the contents of the object.
The object for which to retrieve the hash code.
A hash code for the identity of .
This API is a wrapper around .
It is not necessarily equivalent to calling .
Specifies that is allowed as an input even if the
corresponding type disallows it.
Specifies that null is allowed as an input even if the corresponding type disallows it.
Specifies that null is disallowed as an input even if the corresponding type allows it.
Applied to a method that will never return under any circumstance.
Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
Initializes the attribute with the specified parameter value.
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
Gets the condition parameter value.
States a dependency that one member has on another.
This can be used to inform tooling of a dependency that is otherwise not evident purely from
metadata and IL, for example a member relied on via reflection.
Initializes a new instance of the class
with the specified signature of a member on the same type as the consumer.
The signature of the member depended on.
Initializes a new instance of the class
with the specified signature of a member on a .
The signature of the member depended on.
The containing .
Initializes a new instance of the class
with the specified signature of a member on a type in an assembly.
The signature of the member depended on.
The full name of the type containing the specified member.
The assembly name of the type containing the specified member.
Initializes a new instance of the class
with the specified types of members on a .
The types of members depended on.
The containing the specified members.
Initializes a new instance of the class
with the specified types of members on a type in an assembly.
The types of members depended on.
The full name of the type containing the specified members.
The assembly name of the type containing the specified members.
Gets the signature of the member depended on.
Either must be a valid string or
must not equal , but not both.
Gets the which specifies the type
of members depended on.
Either must be a valid string or
must not equal , but not both.
Gets the containing the specified member.
If neither nor are specified,
the type of the consumer is assumed.
Gets the full name of the type containing the specified member.
If neither nor are specified,
the type of the consumer is assumed.
Gets the assembly name of the specified type.
is only valid when is specified.
Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG".
Specifies the types of members that are dynamically accessed.
This enumeration has a attribute that allows a
bitwise combination of its member values.
Specifies no members.
Specifies the default, parameterless public constructor.
Specifies all public constructors.
Specifies all non-public constructors.
Specifies all public methods.
Specifies all non-public methods.
Specifies all public fields.
Specifies all non-public fields.
Specifies all public nested types.
Specifies all non-public nested types.
Specifies all public properties.
Specifies all non-public properties.
Specifies all public events.
Specifies all non-public events.
Specifies all interfaces implemented by the type.
Specifies all members.
Indicates that certain members on a specified are accessed dynamically,
for example through .
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is or .
When this attribute is applied to a location of type , the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on instances returned from calling
on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
Initializes a new instance of the class
with the specified member types.
The types of members dynamically accessed.
Gets the which specifies the type
of members dynamically accessed.
Specifies that an output may be null even if the corresponding type disallows it.
Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it.
Initializes the attribute with the specified return value condition.
The return value condition. If the method returns this value, the associated parameter may be null.
Gets the return value condition.
Specifies that the method or property will ensure that the listed field and property members have not-null values.
Initializes the attribute with a field or property member.
The field or property member that is promised to be not-null.
Initializes the attribute with the list of field and property members.
The list of field and property members that are promised to be not-null.
Gets field or property member names.
Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.
Initializes the attribute with the specified return value condition and a field or property member.
The return value condition. If the method returns this value, the associated parameter will not be null.
The field or property member that is promised to be not-null.
Initializes the attribute with the specified return value condition and list of field and property members.
The return value condition. If the method returns this value, the associated parameter will not be null.
The list of field and property members that are promised to be not-null.
Gets the return value condition.
Gets field or property member names.
Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.
Specifies that the output will be non-null if the named parameter is non-null.
Initializes the attribute with the associated parameter name.
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
Gets the associated parameter name.
Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
Initializes the attribute with the specified return value condition.
The return value condition. If the method returns this value, the associated parameter will not be null.
Gets the return value condition.
Indicates that the specified member requires assembly files to be on disk.
Initializes a new instance of the class.
Initializes a new instance of the class.
A message that contains information about the need for assembly files to be on disk.
Gets an optional message that contains information about the need for
assembly files to be on disk.
Gets or sets an optional URL that contains more information about the member,
why it requires assembly files to be on disk, and what options a consumer has
to deal with it.
Indicates that the specified method requires the ability to generate new code at runtime,
for example through .
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
Initializes a new instance of the class
with the specified message.
A message that contains information about the usage of dynamic code.
Gets a message that contains information about the usage of dynamic code.
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
Indicates that the specified method requires dynamic access to code that is not referenced
statically, for example through .
This allows tools to understand which methods are unsafe to call when removing unreferenced
code from an application.
Initializes a new instance of the class
with the specified message.
A message that contains information about the usage of unreferenced code.
Gets a message that contains information about the usage of unreferenced code.
Gets or sets an optional URL that contains more information about the method,
why it requires unreferenced code, and what options a consumer has to deal with it.
Specifies that this constructor sets all required members for the current type, and callers
do not need to set any required members themselves.
Specifies the syntax used in a string.
Initializes the with the identifier of the syntax used.
The syntax identifier.
Initializes the with the identifier of the syntax used.
The syntax identifier.
Optional arguments associated with the specific syntax employed.
Gets the identifier of the syntax used.
Optional arguments associated with the specific syntax employed.
The syntax identifier for strings containing composite formats for string formatting.
The syntax identifier for strings containing date format specifiers.
The syntax identifier for strings containing date and time format specifiers.
The syntax identifier for strings containing format specifiers.
The syntax identifier for strings containing format specifiers.
The syntax identifier for strings containing JavaScript Object Notation (JSON).
The syntax identifier for strings containing numeric format specifiers.
The syntax identifier for strings containing regular expressions.
The syntax identifier for strings containing time format specifiers.
The syntax identifier for strings containing format specifiers.
The syntax identifier for strings containing URIs.
The syntax identifier for strings containing XML.
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
is different than
in that it doesn't have a
. So it is always preserved in the compiled assembly.
Initializes a new instance of the
class, specifying the category of the tool and the identifier for an analysis rule.
The category for the attribute.
The identifier of the analysis rule the attribute applies to.
Gets the category identifying the classification of the attribute.
The property describes the tool or tool analysis category
for which a message suppression attribute applies.
Gets the identifier of the analysis tool rule to be suppressed.
Concatenated together, the and
properties form a unique check identifier.
Gets or sets the scope of the code that is relevant for the attribute.
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
Gets or sets a fully qualified path that represents the target of the attribute.
The property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
Gets or sets an optional argument expanding on exclusion criteria.
The property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
Gets or sets the justification for suppressing the code analysis message.
Used to indicate a byref escapes and is not scoped.
There are several cases where the C# compiler treats a as implicitly
- where the compiler does not allow the to escape the method.
For example:
- for instance methods.
- parameters that refer to types.
- parameters.
This attribute is used in those instances where the should be allowed to escape.
Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
Initializes a new instance of the class.
Types and Methods attributed with StackTraceHidden will be omitted from the stack trace text shown in StackTrace.ToString()
and Exception.StackTrace
Initializes a new instance of the class.
Represent a type can be used to index a collection either from the start or the end.
Index is used by the C# compiler to support the new index syntax
int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ;
int lastElement = someArray[^1]; // lastElement = 5
Construct an Index using a value and indicating if the index is from the start or from the end.
The index value. it has to be zero or positive number.
Indicating if the index is from the start or from the end.
If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element.
Create an Index pointing at first element.
Create an Index pointing at beyond last element.
Create an Index from the start at the position indicated by the value.
The index value from the start.
Create an Index from the end at the position indicated by the value.
The index value from the end.
Returns the index value.
Indicates whether the index is from the start or the end.
Calculate the offset from the start using the giving collection length.
The length of the collection that the Index will be used with. length has to be a positive value
For performance reason, we don't validate the input length parameter and the returned offset value against negative values.
we don't validate either the returned offset is greater than the input length.
It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and
then used to index a collection will get out of range exception which will be same affect as the validation.
Indicates whether the current Index object is equal to another object of the same type.
An object to compare with this object
Indicates whether the current Index object is equal to another Index object.
An object to compare with this object
Returns the hash code for this instance.
Converts integer number to an Index.
Converts the value of the current Index object to its equivalent string representation.
Represent a range has start and end indexes.
Range is used by the C# compiler to support the range syntax.
int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
int[] subArray1 = someArray[0..2]; // { 1, 2 }
int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 }
Represent the inclusive start index of the Range.
Represent the exclusive end index of the Range.
Construct a Range object using the start and end indexes.
Represent the inclusive start index of the range.
Represent the exclusive end index of the range.
Indicates whether the current Range object is equal to another object of the same type.
An object to compare with this object
Indicates whether the current Range object is equal to another Range object.
An object to compare with this object
Returns the hash code for this instance.
Converts the value of the current Range object to its equivalent string representation.
Create a Range object starting from start index to the end of the collection.
Create a Range object starting from first element in the collection to the end Index.
Create a Range object starting from first element to the end.
Calculate the start offset and length of range object using a collection length.
The length of the collection that the range will be used with. length has to be a positive value.
For performance reason, we don't validate the input length parameter against negative values.
It is expected Range will be used with collections which always have non negative length/count.
We validate the range is inside the length scope though.
An attribute that allows parameters to receive the expression of other parameters.
Initializes a new instance of the class.
The condition parameter value.
Gets the parameter name the expression is retrieved from.
Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
Creates a new instance of the type.
The name of the feature to indicate.
The name of the compiler feature.
If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand .
The used for the ref structs C# feature.
The used for the required members C# feature.
Disables the built-in runtime managed/unmanaged marshalling subsystem for
P/Invokes, Delegate types, and unmanaged function pointer invocations.
The built-in marshalling subsystem has some behaviors that cannot be changed due to
backward-compatibility requirements. This attribute allows disabling the built-in
subsystem and instead uses the following rules for P/Invokes, Delegates,
and unmanaged function pointer invocations:
- All value types that do not contain reference type fields recursively (unmanaged in C#) are blittable
- Value types that recursively have any fields that have [StructLayout(LayoutKind.Auto)] are disallowed from interop.
- All reference types are disallowed from usage in interop scenarios.
- SetLastError support in P/Invokes is disabled.
- varargs support is disabled.
- LCIDConversionAttribute support is disabled.
Indicates which arguments to a method involving an interpolated string handler should be passed to that handler.
Initializes a new instance of the class.
The name of the argument that should be passed to the handler.
may be used as the name of the receiver in an instance method.
Initializes a new instance of the class.
The names of the arguments that should be passed to the handler.
may be used as the name of the receiver in an instance method.
Gets the names of the arguments that should be passed to the handler.
may be used as the name of the receiver in an instance method.
Indicates the attributed type is to be used as an interpolated string handler.
Reserved to be used by the compiler for tracking metadata.
This class should not be used by developers in source code.
Used to indicate to the compiler that a method should be called
in its containing module's initializer.
When one or more valid methods
with this attribute are found in a compilation, the compiler will
emit a module initializer which calls each of the attributed methods.
Certain requirements are imposed on any method targeted with this attribute:
- The method must be `static`.
- The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc.
- The method must be parameterless.
- The method must return `void`.
- The method must not be generic or be contained in a generic type.
- The method's effective accessibility must be `internal` or `public`.
The specification for module initializers in the .NET runtime can be found here:
https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer
Specifies that a type has required members or that a member is required.
Used to indicate to the compiler that the .locals init flag should not be set in method headers.
An attribute used to indicate a GC transition should be skipped when making an unmanaged function call.
Example of a valid use case. The Win32 `GetTickCount()` function is a small performance related function
that reads some global memory and returns the value. In this case, the GC transition overhead is significantly
more than the memory read.
using System;
using System.Runtime.InteropServices;
class Program
{
[DllImport("Kernel32")]
[SuppressGCTransition]
static extern int GetTickCount();
static void Main()
{
Console.WriteLine($"{GetTickCount()}");
}
}
This attribute is ignored if applied to a method without the .
Forgoing this transition can yield benefits when the cost of the transition is more than the execution time
of the unmanaged function. However, avoiding this transition removes some of the guarantees the runtime
provides through a normal P/Invoke. When exiting the managed runtime to enter an unmanaged function the
GC must transition from Cooperative mode into Preemptive mode. Full details on these modes can be found at
https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-code-guide.md#2.1.8.
Suppressing the GC transition is an advanced scenario and should not be done without fully understanding
potential consequences.
One of these consequences is an impact to Mixed-mode debugging (https://docs.microsoft.com/visualstudio/debugger/how-to-debug-in-mixed-mode).
During Mixed-mode debugging, it is not possible to step into or set breakpoints in a P/Invoke that
has been marked with this attribute. A workaround is to switch to native debugging and set a breakpoint in the native function.
In general, usage of this attribute is not recommended if debugging the P/Invoke is important, for example
stepping through the native code or diagnosing an exception thrown from the native code.
The runtime may load the native library for method marked with this attribute in advance before the method is called for the first time.
Usage of this attribute is not recommended for platform neutral libraries with conditional platform specific code.
The P/Invoke method that this attribute is applied to must have all of the following properties:
* Native function always executes for a trivial amount of time (less than 1 microsecond).
* Native function does not perform a blocking syscall (e.g. any type of I/O).
* Native function does not call back into the runtime (e.g. Reverse P/Invoke).
* Native function does not throw exceptions.
* Native function does not manipulate locks or other concurrency primitives.
Consequences of invalid uses of this attribute:
* GC starvation.
* Immediate runtime termination.
* Data corruption.
Any method marked with can be directly called from
native code. The function token can be loaded to a local variable using the address-of operator
in C# and passed as a callback to a native method.
Methods marked with this attribute have the following restrictions:
* Method must be marked "static".
* Must not be called from managed code.
* Must only have blittable arguments.
Optional. If omitted, the runtime will use the default platform calling convention.
Supplied types must be from the official "System.Runtime.CompilerServices" namespace and
be of the form "CallConvXXX".
Optional. If omitted, no named export is emitted during compilation.
Marks APIs that were obsoleted in a given operating system version.
Primarily used by OS bindings to indicate APIs that should not be used anymore.
Initializes a new instance of the class.
Initializes a new instance of the class with the specified message.
An optional message associated with this attribute instance.
Returns the optional message associated with this attribute instance.
Returns the optional URL associated with this attribute instance.
Records the operating system (and minimum version) that supports an API. Multiple attributes can be
applied to indicate support on multiple operating systems.
Callers can apply a
or use guards to prevent calls to APIs on unsupported operating systems.
A given platform should only be specified once.
Annotates a custom guard field, property or method with a supported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple supported platforms.
Callers can apply a to a field, property or method
and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
Records the platform that the project targeted.
Marks APIs that were removed in a given operating system version.
Primarily used by OS bindings to indicate APIs that are only available in
earlier versions.
Annotates the custom guard field, property or method with an unsupported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
Callers can apply a to a field, property or method
and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
Provides methods for using to implement the Asynchronous Programming Model
pattern based on "Begin" and "End" methods.
Creates a new from the specified , optionally invoking when the task has completed.
The to be wrapped in an .
The callback to be invoked upon 's completion. If , no callback will be invoked.
The state to be stored in the .
An to represent the task's asynchronous operation. This instance will also be passed to when it's invoked.
is null.
In conjunction with the or methods, this method may be used
to implement the Begin/End pattern (also known as the Asynchronous Programming Model pattern, or APM). It is recommended to not expose this pattern
in new code; the methods on are intended only to help implement such Begin/End methods when they must be exposed, for example
because a base class provides virtual methods for the pattern, or when they've already been exposed and must remain for compatibility. These methods enable
implementing all of the core asynchronous logic via s and then easily implementing Begin/End methods around that functionality.
Waits for the wrapped by the returned by to complete.
The for which to wait.
is null.
was not produced by a call to .
This will propagate any exception stored in the wrapped .
Waits for the wrapped by the returned by to complete.
The for which to wait.
The result of the wrapped by the .
is null.
was not produced by a call to .
This will propagate any exception stored in the wrapped .
Extracts the underlying from an created by .
The created by .
The wrapped by the .
is null.
was not produced by a call to .
Extracts the underlying from an created by .
The created by .
The wrapped by the .
is null.
was not produced by a call to ,
or the provided to was used a generic type parameter
that's different from the supplied to this call.
Provides a simple that wraps a .
We could use the Task as the IAsyncResult if the Task's AsyncState is the same as the object state,
but that's very rare, in particular in a situation where someone cares about allocation, and always
using TaskAsyncResult simplifies things and enables additional optimizations.
The wrapped Task.
Callback to invoke when the wrapped task completes.
Initializes the IAsyncResult with the Task to wrap and the associated object state.
The Task to wrap.
The new AsyncState value.
Callback to invoke when the wrapped task completes.