---
title: "POST /2021-01-01/packages/update"
method: POST
path: "/2021-01-01/packages/update"
---

# POST /2021-01-01/packages/update

`POST /2021-01-01/packages/update`

Updates a package for use with Amazon OpenSearch Service domains. For more information, see <a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/custom-packages.html">Custom packages for Amazon OpenSearch Service</a>.

## Request body

- object
  - `PackageID` string, required — The unique identifier for the package.
  - `PackageSource` object, required — The Amazon S3 location to import the package from.
    - `S3BucketName` string — The name of the Amazon S3 bucket containing the package.
    - `S3Key` string — Key (file name) of the package.
  - `PackageDescription` string — A new description of the package.
  - `CommitMessage` string — Commit message for the updated file, which is shown as part of <code>GetPackageVersionHistoryResponse</code>.
  - `PackageConfiguration` object — The configuration parameters for a package.
    - `LicenseRequirement` 'REQUIRED' | 'OPTIONAL' | 'NONE' — The license requirements for the package.
    - `LicenseFilepath` string — The relative file path for the license associated with the package.
    - `ConfigurationRequirement` 'REQUIRED' | 'OPTIONAL' | 'NONE' — The configuration requirements for the package.
    - `RequiresRestartForConfigurationUpdate` boolean — This indicates whether a B/G deployment is required for updating the configuration that the plugin is prerequisite for.
  - `PackageEncryptionOptions` object — Encryption options for a package.
    - `KmsKeyIdentifier` string — KMS key ID for encrypting the package.
    - `EncryptionEnabled` boolean — Whether encryption is enabled for the package.

## Response `200`

Success

- UpdatePackageResponse — Container for the response returned by the <code>UpdatePackage</code> operation.
  - `PackageDetails` object — Information about a package.
    - `PackageID` string — The unique identifier of the package.
    - `PackageName` string — The user-specified name of the package.
    - `PackageType` 'TXT-DICTIONARY' | 'ZIP-PLUGIN' | 'PACKAGE-LICENSE' | 'PACKAGE-CONFIG' — The type of package.
    - `PackageDescription` string — User-specified description of the package.
    - `PackageStatus` 'COPYING' | 'COPY_FAILED' | 'VALIDATING' | 'VALIDATION_FAILED' | 'AVAILABLE' | 'DELETING' | 'DELETED' | 'DELETE_FAILED' — The current status of the package. The available options are <code>AVAILABLE</code>, <code>COPYING</code>, <code>COPY_FAILED</code>, <code>VALIDATNG</code>, <code>VALIDATION_FAILED</code>, <code>DELETING</code>, and <code>DELETE_FAILED</code>.
    - `CreatedAt` string, date-time — The timestamp when the package was created.
    - `LastUpdatedAt` string, date-time — Date and time when the package was last updated.
    - `AvailablePackageVersion` string — The package version.
    - `ErrorDetails` object — Additional information if the package is in an error state. Null otherwise.
      - `ErrorType` string — The type of error that occurred.
      - `ErrorMessage` string — A message describing the error.
    - `EngineVersion` string — Version of OpenSearch or Elasticsearch, in the format Elasticsearch_X.Y or OpenSearch_X.Y. Defaults to the latest version of OpenSearch.
    - `AvailablePluginProperties` object — If the package is a <code>ZIP-PLUGIN</code> package, additional information about plugin properties.
      - `Name` string — The name of the plugin.
      - `Description` string — The description of the plugin.
      - `Version` string — The version of the plugin.
      - `ClassName` string — The name of the class to load.
      - `UncompressedSizeInBytes` integer — The uncompressed size of the plugin.
    - `AvailablePackageConfiguration` object — This represents the available configuration parameters for the package.
      - `LicenseRequirement` 'REQUIRED' | 'OPTIONAL' | 'NONE', required — The license requirements for the package.
      - `LicenseFilepath` string — The relative file path for the license associated with the package.
      - `ConfigurationRequirement` 'REQUIRED' | 'OPTIONAL' | 'NONE', required — The configuration requirements for the package.
      - `RequiresRestartForConfigurationUpdate` boolean — This indicates whether a B/G deployment is required for updating the configuration that the plugin is prerequisite for.
    - `AllowListedUserList` PackageUser[] — A list of users who are allowed to view and associate the package. This field is only visible to the owner of a package.
    - `PackageOwner` string — The owner of the package who is allowed to create and update a package and add users to the package scope.
    - `PackageVendingOptions` object — Package Vending Options for a package.
      - `VendingEnabled` boolean, required — Indicates whether the package vending feature is enabled, allowing the package to be used by other users.
    - `PackageEncryptionOptions` object — Encryption options for a package.
      - `KmsKeyIdentifier` string — KMS key ID for encrypting the package.
      - `EncryptionEnabled` boolean, required — Whether encryption is enabled for the package.

## Other responses

- `480` — BaseException
- `481` — InternalException
- `482` — LimitExceededException
- `483` — ResourceNotFoundException
- `484` — AccessDeniedException
- `485` — ValidationException

---

[API](https://skmtc.net/aws/apis/opensearch.md) · [All operations](https://skmtc.net/aws/apis/opensearch/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/opensearch/versions/e747e56ee8c6/schema)
