--- sidebar_position: 10 description: Put bucket versioning and other functions to work with S3 in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, S3] --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Put bucket versioning Sets the versioning settings for bucket objects `Function PutBucketVersioning(Val Name, Val BasicData, Val Status = Undefined, Val MFADelete = Undefined, Val Directory = False, Val Headers = Undefined) Export` | Parameter | CLI option | Type | Required | Description | |-|-|-|-|-| | Name | --name | String | ✔ | Bucket name | | BasicData | --basic | Structure Of KeyAndValue | ✔ | Basic request data. See GetBasicDataStructure | | Status | --status | Boolean | ✖ | Enable and disable versioning, if necessary | | MFADelete | --mfad | Boolean | ✖ | Enable and disable MFA deletion, if necessary | | Directory | --dir | Boolean | ✖ | True > Directory Bucket, False > General Purpose Bucket | | Headers | --headers | Map Of KeyAndValue | ✖ | Additional request headers, if necessary | Returns: Structure Of KeyAndValue - serialized JSON response from storage
:::tip Method at AWS documentation: [PutBucketVersioning](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html) :::
```bsl title="1C:Enterprise/OneScript code example" URL = "storage-155.s3hoster.by"; AccessKey = "BRN5RKJE67..."; SecretKey = "NNhv+i9PrytpT8Tu0C1N..."; Region = "BTC"; BasicData = OPI_S3.GetBasicDataStructure(URL, AccessKey, SecretKey, Region); Status = True; // Directory bucket Name = "opi-dirbucket3"; Result = OPI_S3.PutBucketVersioning(Name, BasicData, Status, , True); // General purpose bucket Name = "opi-gpbucket3"; Result = OPI_S3.PutBucketVersioning(Name, BasicData, Status); ``` ```bash # JSON data can also be passed as a path to a .json file oint s3 PutBucketVersioning \ --name "opi-gpbucket3" \ --basic "{'URL':'storage-155.s3hoster.by','AccessKey':'***','SecretKey':'***','Region':'BTC','Service':'s3'}" \ --status true \ --dir false ``` ```batch :: JSON data can also be passed as a path to a .json file oint s3 PutBucketVersioning ^ --name "opi-gpbucket3" ^ --basic "{'URL':'storage-155.s3hoster.by','AccessKey':'***','SecretKey':'***','Region':'BTC','Service':'s3'}" ^ --status true ^ --dir false ``` ```json title="Result" { "status": 200, "response": {}, "headers": { "Accept-Ranges": "bytes", "Content-Length": "0", "Content-Type": "text/plain; charset=utf-8", "Date": "Fri, 22 Nov 2024 10:11:57 GMT", "Server": "MinIO", "Strict-Transport-Security": "max-age=31536000; includeSubDomains", "Vary": "Origin,Accept-Encoding", "X-Amz-Id-2": "e602da57d0c30b8c7034fcfe129917205f80f7bab979408e71da5d1441c85e79", "X-Amz-Request-Id": "180A42AD14BD3C49", "X-Content-Type-Options": "nosniff", "X-Xss-Protection": "1; mode=block" } } ```