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.