const { checkBucketName: _checkBucketName } = require('../utils/checkBucketName');
							 | 
						|
								const { obj2xml } = require('../utils/obj2xml');
							 | 
						|
								
							 | 
						|
								const proto = exports;
							 | 
						|
								/**
							 | 
						|
								 * putBucketVersioning
							 | 
						|
								 * @param {String} name - bucket name
							 | 
						|
								 * @param {String} status
							 | 
						|
								 * @param {Object} options
							 | 
						|
								 */
							 | 
						|
								
							 | 
						|
								proto.putBucketVersioning = async function putBucketVersioning(name, status, options = {}) {
							 | 
						|
								  _checkBucketName(name);
							 | 
						|
								  if (!['Enabled', 'Suspended'].includes(status)) {
							 | 
						|
								    throw new Error('status must be Enabled or Suspended');
							 | 
						|
								  }
							 | 
						|
								  const params = this._bucketRequestParams('PUT', name, 'versioning', options);
							 | 
						|
								
							 | 
						|
								  const paramXMLObj = {
							 | 
						|
								    VersioningConfiguration: {
							 | 
						|
								      Status: status
							 | 
						|
								    }
							 | 
						|
								  };
							 | 
						|
								
							 | 
						|
								  params.mime = 'xml';
							 | 
						|
								  params.content = obj2xml(paramXMLObj, {
							 | 
						|
								    headers: true
							 | 
						|
								  });
							 | 
						|
								
							 | 
						|
								  const result = await this.request(params);
							 | 
						|
								  return {
							 | 
						|
								    res: result.res,
							 | 
						|
								    status: result.status
							 | 
						|
								  };
							 | 
						|
								};
							 |