> For the complete documentation index, see [llms.txt](https://docs.ionos.com/cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionos.com/cloud/go/go-bundle/sdks/objectstorage.md).

# Object Storage (Contract-Owned Buckets)

[![Gitter](https://img.shields.io/gitter/room/ionos-cloud/sdk-general)](https://gitter.im/ionos-cloud/sdk-general)

## Go API client for objectstorage

### Overview

The IONOS Object Storage API for contract-owned buckets is a REST-based API that allows developers and applications to interact directly with IONOS' scalable storage solution, leveraging the S3 protocol for object storage operations. Its design ensures seamless compatibility with existing tools and libraries tailored for S3 systems.

#### API References

* [S3 API Reference for contract-owned buckets](https://api.ionos.com/docs/s3-contract-owned-buckets/v2/)

#### User documentation

[IONOS Object Storage User Guide](https://docs.ionos.com/cloud/managed-services/s3-object-storage)

* [Documentation on user-owned and contract-owned buckets](https://docs.ionos.com/cloud/managed-services/s3-object-storage/concepts/buckets)
* [Documentation on S3 API Compatibility](https://docs.ionos.com/cloud/managed-services/s3-object-storage/concepts/s3-api-compatibility)
* [S3 Tools](https://docs.ionos.com/cloud/managed-services/s3-object-storage/s3-tools)

### Endpoints for contract-owned buckets

| Location            | Region Name      | Bucket Type    | Endpoint                                 |
| ------------------- | ---------------- | -------------- | ---------------------------------------- |
| **Berlin, Germany** | **eu-central-3** | Contract-owned | `https://s3.eu-central-3.ionoscloud.com` |

### Changelog

* 30.05.2024 Initial version

### Overview

This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.

* API version: 2.0.2
* Package version: products/objectstorage/v2.0.3
* Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit <https://docs.ionos.com/support/general-information/contact-information>

### Installation

Install the following dependencies:

```shell
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
go get github.com/antihax/optional
```

Put the package under your project folder and add the following in import:

```golang
import "./objectstorage"
```

### Documentation for API Endpoints

All URIs are relative to *<https://s3.eu-central-3.ionoscloud.com>*

<details>

<summary>API Endpoints table</summary>

| Class                | Method                                                                                                                    | HTTP request                                                    | Description                |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | -------------------------- |
| BucketsApi           | [**CreateBucket**](/cloud/go/go-bundle/sdks/objectstorage/api/bucketsapi.md#CreateBucket)                                 | **Put** /{Bucket}                                               | CreateBucket               |
| BucketsApi           | [**DeleteBucket**](/cloud/go/go-bundle/sdks/objectstorage/api/bucketsapi.md#DeleteBucket)                                 | **Delete** /{Bucket}                                            | DeleteBucket               |
| BucketsApi           | [**GetBucketLocation**](/cloud/go/go-bundle/sdks/objectstorage/api/bucketsapi.md#GetBucketLocation)                       | **Get** /{Bucket}?location                                      | GetBucketLocation          |
| BucketsApi           | [**HeadBucket**](/cloud/go/go-bundle/sdks/objectstorage/api/bucketsapi.md#HeadBucket)                                     | **Head** /{Bucket}                                              | HeadBucket                 |
| BucketsApi           | [**ListBuckets**](/cloud/go/go-bundle/sdks/objectstorage/api/bucketsapi.md#ListBuckets)                                   | **Get** /                                                       | ListBuckets                |
| CORSApi              | [**DeleteBucketCors**](/cloud/go/go-bundle/sdks/objectstorage/api/corsapi.md#DeleteBucketCors)                            | **Delete** /{Bucket}?cors                                       | DeleteBucketCors           |
| CORSApi              | [**GetBucketCors**](/cloud/go/go-bundle/sdks/objectstorage/api/corsapi.md#GetBucketCors)                                  | **Get** /{Bucket}?cors                                          | GetBucketCors              |
| CORSApi              | [**PutBucketCors**](/cloud/go/go-bundle/sdks/objectstorage/api/corsapi.md#PutBucketCors)                                  | **Put** /{Bucket}?cors                                          | PutBucketCors              |
| EncryptionApi        | [**DeleteBucketEncryption**](/cloud/go/go-bundle/sdks/objectstorage/api/encryptionapi.md#DeleteBucketEncryption)          | **Delete** /{Bucket}?encryption                                 | DeleteBucketEncryption     |
| EncryptionApi        | [**GetBucketEncryption**](/cloud/go/go-bundle/sdks/objectstorage/api/encryptionapi.md#GetBucketEncryption)                | **Get** /{Bucket}?encryption                                    | GetBucketEncryption        |
| EncryptionApi        | [**PutBucketEncryption**](/cloud/go/go-bundle/sdks/objectstorage/api/encryptionapi.md#PutBucketEncryption)                | **Put** /{Bucket}?encryption                                    | PutBucketEncryption        |
| LifecycleApi         | [**DeleteBucketLifecycle**](/cloud/go/go-bundle/sdks/objectstorage/api/lifecycleapi.md#DeleteBucketLifecycle)             | **Delete** /{Bucket}?lifecycle                                  | DeleteBucketLifecycle      |
| LifecycleApi         | [**GetBucketLifecycle**](/cloud/go/go-bundle/sdks/objectstorage/api/lifecycleapi.md#GetBucketLifecycle)                   | **Get** /{Bucket}?lifecycle                                     | GetBucketLifecycle         |
| LifecycleApi         | [**PutBucketLifecycle**](/cloud/go/go-bundle/sdks/objectstorage/api/lifecycleapi.md#PutBucketLifecycle)                   | **Put** /{Bucket}?lifecycle                                     | PutBucketLifecycle         |
| ObjectLockApi        | [**GetObjectLegalHold**](/cloud/go/go-bundle/sdks/objectstorage/api/objectlockapi.md#GetObjectLegalHold)                  | **Get** /{Bucket}/{Key}?legal-hold                              | GetObjectLegalHold         |
| ObjectLockApi        | [**GetObjectLockConfiguration**](/cloud/go/go-bundle/sdks/objectstorage/api/objectlockapi.md#GetObjectLockConfiguration)  | **Get** /{Bucket}?object-lock                                   | GetObjectLockConfiguration |
| ObjectLockApi        | [**GetObjectRetention**](/cloud/go/go-bundle/sdks/objectstorage/api/objectlockapi.md#GetObjectRetention)                  | **Get** /{Bucket}/{Key}?retention                               | GetObjectRetention         |
| ObjectLockApi        | [**PutObjectLegalHold**](/cloud/go/go-bundle/sdks/objectstorage/api/objectlockapi.md#PutObjectLegalHold)                  | **Put** /{Bucket}/{Key}?legal-hold                              | PutObjectLegalHold         |
| ObjectLockApi        | [**PutObjectLockConfiguration**](/cloud/go/go-bundle/sdks/objectstorage/api/objectlockapi.md#PutObjectLockConfiguration)  | **Put** /{Bucket}?object-lock                                   | PutObjectLockConfiguration |
| ObjectLockApi        | [**PutObjectRetention**](/cloud/go/go-bundle/sdks/objectstorage/api/objectlockapi.md#PutObjectRetention)                  | **Put** /{Bucket}/{Key}?retention                               | PutObjectRetention         |
| ObjectsApi           | [**CopyObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#CopyObject)                                     | **Put** /{Bucket}/{Key}?x-amz-copy-source                       | CopyObject                 |
| ObjectsApi           | [**DeleteObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#DeleteObject)                                 | **Delete** /{Bucket}/{Key}                                      | DeleteObject               |
| ObjectsApi           | [**DeleteObjects**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#DeleteObjects)                               | **Post** /{Bucket}?delete                                       | DeleteObjects              |
| ObjectsApi           | [**GetObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#GetObject)                                       | **Get** /{Bucket}/{Key}                                         | GetObject                  |
| ObjectsApi           | [**HeadObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#HeadObject)                                     | **Head** /{Bucket}/{Key}                                        | HeadObject                 |
| ObjectsApi           | [**ListObjects**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#ListObjects)                                   | **Get** /{Bucket}                                               | ListObjects                |
| ObjectsApi           | [**ListObjectsV2**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#ListObjectsV2)                               | **Get** /{Bucket}?list-type=2                                   | ListObjectsV2              |
| ObjectsApi           | [**OPTIONSObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#OPTIONSObject)                               | **Options** /{Bucket}                                           | OPTIONSObject              |
| ObjectsApi           | [**POSTObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#POSTObject)                                     | **Post** /{Bucket}/{Key}                                        | POSTObject                 |
| ObjectsApi           | [**PutObject**](/cloud/go/go-bundle/sdks/objectstorage/api/objectsapi.md#PutObject)                                       | **Put** /{Bucket}/{Key}                                         | PutObject                  |
| PolicyApi            | [**DeleteBucketPolicy**](/cloud/go/go-bundle/sdks/objectstorage/api/policyapi.md#DeleteBucketPolicy)                      | **Delete** /{Bucket}?policy                                     | DeleteBucketPolicy         |
| PolicyApi            | [**GetBucketPolicy**](/cloud/go/go-bundle/sdks/objectstorage/api/policyapi.md#GetBucketPolicy)                            | **Get** /{Bucket}?policy                                        | GetBucketPolicy            |
| PolicyApi            | [**GetBucketPolicyStatus**](/cloud/go/go-bundle/sdks/objectstorage/api/policyapi.md#GetBucketPolicyStatus)                | **Get** /{Bucket}?policyStatus                                  | GetBucketPolicyStatus      |
| PolicyApi            | [**PutBucketPolicy**](/cloud/go/go-bundle/sdks/objectstorage/api/policyapi.md#PutBucketPolicy)                            | **Put** /{Bucket}?policy                                        | PutBucketPolicy            |
| PublicAccessBlockApi | [**DeletePublicAccessBlock**](/cloud/go/go-bundle/sdks/objectstorage/api/publicaccessblockapi.md#DeletePublicAccessBlock) | **Delete** /{Bucket}?publicAccessBlock                          | DeletePublicAccessBlock    |
| PublicAccessBlockApi | [**GetPublicAccessBlock**](/cloud/go/go-bundle/sdks/objectstorage/api/publicaccessblockapi.md#GetPublicAccessBlock)       | **Get** /{Bucket}?publicAccessBlock                             | GetPublicAccessBlock       |
| PublicAccessBlockApi | [**PutPublicAccessBlock**](/cloud/go/go-bundle/sdks/objectstorage/api/publicaccessblockapi.md#PutPublicAccessBlock)       | **Put** /{Bucket}?publicAccessBlock                             | PutPublicAccessBlock       |
| ReplicationApi       | [**GetBucketReplication**](/cloud/go/go-bundle/sdks/objectstorage/api/replicationapi.md#GetBucketReplication)             | **Get** /{Bucket}?replication                                   | GetBucketReplication       |
| TaggingApi           | [**DeleteBucketTagging**](/cloud/go/go-bundle/sdks/objectstorage/api/taggingapi.md#DeleteBucketTagging)                   | **Delete** /{Bucket}?tagging                                    | DeleteBucketTagging        |
| TaggingApi           | [**DeleteObjectTagging**](/cloud/go/go-bundle/sdks/objectstorage/api/taggingapi.md#DeleteObjectTagging)                   | **Delete** /{Bucket}/{Key}?tagging                              | DeleteObjectTagging        |
| TaggingApi           | [**GetBucketTagging**](/cloud/go/go-bundle/sdks/objectstorage/api/taggingapi.md#GetBucketTagging)                         | **Get** /{Bucket}?tagging                                       | GetBucketTagging           |
| TaggingApi           | [**GetObjectTagging**](/cloud/go/go-bundle/sdks/objectstorage/api/taggingapi.md#GetObjectTagging)                         | **Get** /{Bucket}/{Key}?tagging                                 | GetObjectTagging           |
| TaggingApi           | [**PutBucketTagging**](/cloud/go/go-bundle/sdks/objectstorage/api/taggingapi.md#PutBucketTagging)                         | **Put** /{Bucket}?tagging                                       | PutBucketTagging           |
| TaggingApi           | [**PutObjectTagging**](/cloud/go/go-bundle/sdks/objectstorage/api/taggingapi.md#PutObjectTagging)                         | **Put** /{Bucket}/{Key}?tagging                                 | PutObjectTagging           |
| UploadsApi           | [**AbortMultipartUpload**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#AbortMultipartUpload)                 | **Delete** /{Bucket}/{Key}?uploadId                             | AbortMultipartUpload       |
| UploadsApi           | [**CompleteMultipartUpload**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#CompleteMultipartUpload)           | **Post** /{Bucket}/{Key}?uploadId                               | CompleteMultipartUpload    |
| UploadsApi           | [**CreateMultipartUpload**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#CreateMultipartUpload)               | **Post** /{Bucket}/{Key}?uploads                                | CreateMultipartUpload      |
| UploadsApi           | [**ListMultipartUploads**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#ListMultipartUploads)                 | **Get** /{Bucket}?uploads                                       | ListMultipartUploads       |
| UploadsApi           | [**ListParts**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#ListParts)                                       | **Get** /{Bucket}/{Key}?uploadId                                | ListParts                  |
| UploadsApi           | [**UploadPart**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#UploadPart)                                     | **Put** /{Bucket}/{Key}?uploadId                                | UploadPart                 |
| UploadsApi           | [**UploadPartCopy**](/cloud/go/go-bundle/sdks/objectstorage/api/uploadsapi.md#UploadPartCopy)                             | **Put** /{Bucket}/{Key}?x-amz-copy-source\&partNumber\&uploadId | UploadPartCopy             |
| VersioningApi        | [**GetBucketVersioning**](/cloud/go/go-bundle/sdks/objectstorage/api/versioningapi.md#GetBucketVersioning)                | **Get** /{Bucket}?versioning                                    | GetBucketVersioning        |
| VersioningApi        | [**PutBucketVersioning**](/cloud/go/go-bundle/sdks/objectstorage/api/versioningapi.md#PutBucketVersioning)                | **Put** /{Bucket}?versioning                                    | PutBucketVersioning        |
| VersionsApi          | [**ListObjectVersions**](/cloud/go/go-bundle/sdks/objectstorage/api/versionsapi.md#ListObjectVersions)                    | **Get** /{Bucket}?versions                                      | ListObjectVersions         |
| WebsiteApi           | [**DeleteBucketWebsite**](/cloud/go/go-bundle/sdks/objectstorage/api/websiteapi.md#DeleteBucketWebsite)                   | **Delete** /{Bucket}?website                                    | DeleteBucketWebsite        |
| WebsiteApi           | [**GetBucketWebsite**](/cloud/go/go-bundle/sdks/objectstorage/api/websiteapi.md#GetBucketWebsite)                         | **Get** /{Bucket}?website                                       | GetBucketWebsite           |
| WebsiteApi           | [**PutBucketWebsite**](/cloud/go/go-bundle/sdks/objectstorage/api/websiteapi.md#PutBucketWebsite)                         | **Put** /{Bucket}?website                                       | PutBucketWebsite           |

</details>

***

### Authentication

All available server URLs are:

* *<https://s3.eu-central-3.ionoscloud.com>* - The endpoint for the \`eu-central-3\` region (Berlin, Germany)
* *<https://s3.eu-central-4.ionoscloud.com>* - The endpoint for the \`eu-central-4\` region (Frankfurt, Germany)
* *<https://s3.us-central-1.ionoscloud.com>* - The endpoint for the \`us-central-1\` region (Lenexa, USA)

By default, *<https://s3.eu-central-3.ionoscloud.com>* is used, however this can be overriden at authentication, either by setting the `IONOS_API_URL` environment variable or by specifying the `hostUrl` parameter when initializing the sdk client.

**NOTE**: We recommend passing the URL without the `https://` or `http://` prefix. The SDK checks and adds it if necessary when configurations are created using `NewConfiguration` or `NewConfigurationFromEnv`. This is to avoid issues caused by typos in the prefix that cannot be easily detected and debugged.

In order to authenticate, the only credentials needed are the IONOS S3 access and secret keys, username and password or token are not required. Also, a middleware function needs to be added to the configuration to sign the requests with the IONOS S3 credentials.

```golang
configuration := shared.NewConfiguration("", "", "", hostUrl)
configuration.MiddlewareWithError = shared.SignerMiddleware(region, "s3", s3AccessKey, s3SecretKey)
client := objectstorage.NewAPIClient(configuration)

```

Environment variables can also be used. The sdk uses the following variables:

* IONOS\_S3\_ACCESS\_KEY - the access key for the IONOS object storage
* IONOS\_S3\_SECRET\_KEY - the secret key for the IONOS object storage
* IONOS\_API\_URL - to specify the API server URL

In this case, the client configuration needs to be initialized using `NewConfigurationFromEnv()`.

```golang
configuration := shared.NewConfigurationFromEnv()
configuration.MiddlewareWithError = shared.SignerMiddleware(
    region, "s3", os.Getenv(IonosS3AccessKeyEnvVar), os.Getenv(IonosS3SecretKeyEnvVar),
)
client := objectstorage.NewAPIClient(configuration)

```

### Documentation For Models

All URIs are relative to *<https://s3.eu-central-3.ionoscloud.com>*

<details>

<summary>API models list</summary>

* [AbortIncompleteMultipartUpload](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/AbortIncompleteMultipartUpload/README.md)
* [BlockPublicAccessOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BlockPublicAccessOutput/README.md)
* [BlockPublicAccessPayload](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BlockPublicAccessPayload/README.md)
* [Bucket](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Bucket/README.md)
* [BucketLocation](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketLocation/README.md)
* [BucketPolicy](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketPolicy/README.md)
* [BucketPolicyCondition](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketPolicyCondition/README.md)
* [BucketPolicyConditionDate](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketPolicyConditionDate/README.md)
* [BucketPolicyConditionIpAddress](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketPolicyConditionIpAddress/README.md)
* [BucketPolicyStatement](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketPolicyStatement/README.md)
* [BucketVersioningStatus](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/BucketVersioningStatus/README.md)
* [CORSRule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CORSRule/README.md)
* [CSVInput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CSVInput/README.md)
* [CSVOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CSVOutput/README.md)
* [CommonPrefix](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CommonPrefix/README.md)
* [CompleteMultipartUploadOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CompleteMultipartUploadOutput/README.md)
* [CompletedPart](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CompletedPart/README.md)
* [CopyObjectRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CopyObjectRequest/README.md)
* [CopyObjectResult](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CopyObjectResult/README.md)
* [CopyPartResult](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CopyPartResult/README.md)
* [CreateBucketConfiguration](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CreateBucketConfiguration/README.md)
* [CreateMultipartUploadOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/CreateMultipartUploadOutput/README.md)
* [DefaultRetention](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/DefaultRetention/README.md)
* [DeleteMarkerEntry](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/DeleteMarkerEntry/README.md)
* [DeleteObjectsOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/DeleteObjectsOutput/README.md)
* [DeleteObjectsRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/DeleteObjectsRequest/README.md)
* [DeletedObject](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/DeletedObject/README.md)
* [DeletionError](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/DeletionError/README.md)
* [Destination](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Destination/README.md)
* [EncodingType](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/EncodingType/README.md)
* [Encryption](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Encryption/README.md)
* [Error](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Error/README.md)
* [ErrorDocument](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ErrorDocument/README.md)
* [Example](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Example/README.md)
* [ExampleCompleteMultipartUpload](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ExampleCompleteMultipartUpload/README.md)
* [ExpirationStatus](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ExpirationStatus/README.md)
* [ExpressionType](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ExpressionType/README.md)
* [Filter](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Filter/README.md)
* [GetBucketCorsOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetBucketCorsOutput/README.md)
* [GetBucketLifecycleOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetBucketLifecycleOutput/README.md)
* [GetBucketReplicationOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetBucketReplicationOutput/README.md)
* [GetBucketTaggingOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetBucketTaggingOutput/README.md)
* [GetBucketVersioningOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetBucketVersioningOutput/README.md)
* [GetBucketWebsiteOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetBucketWebsiteOutput/README.md)
* [GetObjectLockConfigurationOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetObjectLockConfigurationOutput/README.md)
* [GetObjectTaggingOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/GetObjectTaggingOutput/README.md)
* [HeadObjectOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/HeadObjectOutput/README.md)
* [IndexDocument](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/IndexDocument/README.md)
* [Initiator](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Initiator/README.md)
* [InputSerialization](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/InputSerialization/README.md)
* [InputSerializationJSON](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/InputSerializationJSON/README.md)
* [JSONOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/JSONOutput/README.md)
* [LifecycleExpiration](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/LifecycleExpiration/README.md)
* [ListAllMyBucketsResult](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ListAllMyBucketsResult/README.md)
* [ListBucketResultV2](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ListBucketResultV2/README.md)
* [ListMultipartUploadsOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ListMultipartUploadsOutput/README.md)
* [ListObjectVersionsOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ListObjectVersionsOutput/README.md)
* [ListObjectsOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ListObjectsOutput/README.md)
* [ListPartsOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ListPartsOutput/README.md)
* [MetadataEntry](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/MetadataEntry/README.md)
* [MfaDeleteStatus](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/MfaDeleteStatus/README.md)
* [MultipartUpload](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/MultipartUpload/README.md)
* [NoncurrentVersionExpiration](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/NoncurrentVersionExpiration/README.md)
* [Object](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Object/README.md)
* [ObjectIdentifier](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectIdentifier/README.md)
* [ObjectLegalHoldConfiguration](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectLegalHoldConfiguration/README.md)
* [ObjectLockRetention](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectLockRetention/README.md)
* [ObjectLockRule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectLockRule/README.md)
* [ObjectStorageClass](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectStorageClass/README.md)
* [ObjectVersion](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectVersion/README.md)
* [ObjectVersionStorageClass](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ObjectVersionStorageClass/README.md)
* [OutputSerialization](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/OutputSerialization/README.md)
* [Owner](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Owner/README.md)
* [POSTObjectRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/POSTObjectRequest/README.md)
* [Part](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Part/README.md)
* [PolicyStatus](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PolicyStatus/README.md)
* [Principal](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Principal/README.md)
* [PrincipalAllOf](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PrincipalAllOf/README.md)
* [PutBucketCorsRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutBucketCorsRequest/README.md)
* [PutBucketEncryptionRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutBucketEncryptionRequest/README.md)
* [PutBucketLifecycleRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutBucketLifecycleRequest/README.md)
* [PutBucketTaggingRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutBucketTaggingRequest/README.md)
* [PutBucketVersioningRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutBucketVersioningRequest/README.md)
* [PutBucketWebsiteRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutBucketWebsiteRequest/README.md)
* [PutObjectLockConfigurationRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutObjectLockConfigurationRequest/README.md)
* [PutObjectLockConfigurationRequestRule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutObjectLockConfigurationRequestRule/README.md)
* [PutObjectRetentionRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutObjectRetentionRequest/README.md)
* [PutObjectTaggingRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/PutObjectTaggingRequest/README.md)
* [Redirect](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Redirect/README.md)
* [RedirectAllRequestsTo](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/RedirectAllRequestsTo/README.md)
* [ReplicaModificationsStatus](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ReplicaModificationsStatus/README.md)
* [ReplicationConfiguration](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ReplicationConfiguration/README.md)
* [ReplicationRule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ReplicationRule/README.md)
* [RoutingRule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/RoutingRule/README.md)
* [RoutingRuleCondition](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/RoutingRuleCondition/README.md)
* [Rule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Rule/README.md)
* [ServerSideEncryption](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ServerSideEncryption/README.md)
* [ServerSideEncryptionByDefault](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ServerSideEncryptionByDefault/README.md)
* [ServerSideEncryptionConfiguration](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ServerSideEncryptionConfiguration/README.md)
* [ServerSideEncryptionRule](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/ServerSideEncryptionRule/README.md)
* [StorageClass](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/StorageClass/README.md)
* [Tag](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/Tag/README.md)
* [UploadPartCopyOutput](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/UploadPartCopyOutput/README.md)
* [UploadPartRequest](https://github.com/ionos-cloud/sdk-go-bundle/tree/v2/products/objectstorage/docs/models/UploadPartRequest/README.md)

[\[Back to API list\]](#documentation-for-api-endpoints) [\[Back to Model list\]](#documentation-for-models)

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.ionos.com/cloud/go/go-bundle/sdks/objectstorage.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
