<a id="cli-aws-quicksight-update-knowledge-base"></a>

# update-knowledge-base

## Description

Updates the properties of an existing knowledge base.

See also: [AWS API Documentation](https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateKnowledgeBase)

`update-knowledge-base` uses document type values. Document types follow the JSON data model where valid values are: strings, numbers, booleans, null, arrays, and objects. For command input, options and nested parameters that are labeled with the type `document` must be provided as JSON. Shorthand syntax does not support document types.

## Synopsis

```
  update-knowledge-base
--aws-account-id <value>
--knowledge-base-id <value>
[--name <value>]
[--description <value>]
[--knowledge-base-configuration <value>]
[--media-extraction-configuration <value>]
[--is-email-notification-opted-for-ingestion-failures | --no-is-email-notification-opted-for-ingestion-failures]
[--access-control-configuration <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
[--cli-error-format <value>]
```

## Options

`--aws-account-id` (string) [required]

> The ID of the Amazon Web Services account that contains the knowledge base.

> Constraints:

> * min: `12`
> * max: `12`
> * pattern: `[0-9]*`

`--knowledge-base-id` (string) [required]

> The unique identifier for the knowledge base.

> Constraints:

> * min: `1`
> * max: `1024`
> * pattern: `[0-9a-zA-Z-_=.+]+`

`--name` (string)

> The name of the knowledge base. If you don’t specify a name, the existing name is retained.

> Constraints:

> * min: `0`
> * max: `128`
> * pattern: `[\p{L}\p{N}][\p{L}\p{N} _\-\.]*`

`--description` (string)

> A description for the knowledge base. If you don’t specify a description, the existing description is retained.

> Constraints:

> * min: `0`
> * max: `1000`
> * pattern: `\P{C}*`

`--knowledge-base-configuration` (structure)

> The configuration settings for a knowledge base.

> templateConfiguration -> (structure)

> > The template configuration that defines how the data source connector crawls and indexes data for the knowledge base. The template structure varies by connector type. See `KbTemplateConfiguration` for connector-specific details.

> > template -> (document)

> > > The connector configuration for the knowledge base data source. The structure depends on the connector type of the data source referenced by `DataSourceArn` .

> > > The template must be a JSON object. All connector types share the following top-level keys. The value of `type` and the contents of `connectionConfiguration` vary by connector type.

> > > * `type` – (Required) The connector type of the data source. This value identifies the connector. Valid values: `S3V2` , `WEBCRAWLERV3` , `GOOGLEDRIVEV3` , `ONEDRIVEV3` , `SHAREPOINTV3` . For the fields required by each connector, see the connector-specific list that follows.
> > > * `connectionConfiguration` – (Required) The connection details for the data source. The keys in this object vary by connector type; see the connector-specific list that follows.
> > > * `filterConfiguration` – (Optional) Rules that determine which content is crawled, such as inclusion and exclusion prefixes, patterns, or file-size limits.
> > > * `accessControlConfiguration` – (Optional) Document-level access control (ACL) settings. Supported by all connector types except Web Crawler (`WEBCRAWLERV3` ). The available fields depend on the connector type.
> > > * `deletionProtectionConfiguration` – (Optional) Deletion-protection settings, supported by all connector types. Contains `enableDeletionProtection` (Boolean) and `deletionProtectionThreshold` (String; a value from 1 to 100).

> > > The following list describes the valid `type` value, the `connectionConfiguration` contents, and any connector-specific fields for each connector type:

> > > * **Amazon S3** (`type` : `S3V2` ) – The `type` value must be `S3V2` . `connectionConfiguration` is required and contains:
> > >   * `bucketName` – (Required) The name of the Amazon S3 bucket to crawl. Type: String. Length: 3–63 characters. Pattern: `^[a-z0-9][.\-a-z0-9]{1,61}[a-z0-9]$` .
> > >   * `bucketOwnerAccountId` – (Required) The ID of the AWS account that owns the bucket. Type: String. Pattern: `^\d{12}$` .

> > > Amazon S3 supports the following optional `filterConfiguration` fields:

> > > > * `inclusionPrefixes` or `exclusionPrefixes` – Amazon S3 key prefixes to include or exclude. Type: Array of String. Up to 350 items, each 1–1,024 characters.
> > > > * `inclusionPatterns` or `exclusionPatterns` – Patterns to include or exclude objects. Type: Array of String. Up to 350 items, each 1–1,024 characters.
> > > > * `maxFileSizeInMegaBytes` – The maximum size, in MB, of a file to ingest. Type: String. Pattern: `^\d+$` .

> > > For Amazon S3, `accessControlConfiguration` supports the following fields:

> > > > > * `crawlAcl` – Specifies whether the connector crawls and enforces document access control lists (ACLs). Type: Boolean. When set to `true` , provide ACLs either in a global ACL configuration file (`aclConfigurationFilePath` ) or in per-document metadata files.
> > > > > * `aclConfigurationFilePath` – The Amazon S3 URI of the global ACL configuration file. Type: String. Length: 1–1,024 characters. Optional. If you don’t provide a global ACL configuration file, define ACLs in per-document metadata files.
> > > > > * `defaultAccessType` – The access behavior applied to Amazon S3 prefixes that are not listed in the ACL configuration. Type: String. The only supported value is `ALLOW` .

> > > > `metadataFilesPrefix` – (Optional) The Amazon S3 prefix under which per-document metadata files are stored. Each metadata file describes a single source document and its indexable attributes. This is not the global ACL configuration file. For a single global ACL file, use `accessControlConfiguration.aclConfigurationFilePath` . Type: String. Length: 1–1,024 characters.
> > > * **Google Drive** (`type` : `GOOGLEDRIVEV3` ) – Requires `connectionConfiguration` with `authType` set to `SERVICE_ACCOUNT` . Supports `dataEntityConfiguration` with `crawlMyDrive` , `crawlSharedWithMe` , and `crawlSharedDrives` .
> > > * **OneDrive** (`type` : `ONEDRIVEV3` ) – Requires `authType` at the template root level set to `TWO_LEGGED_OAUTH` . Requires `connectionConfiguration` with `tenantId` in UUID format. Supports `dataEntityConfiguration` with `crawlPersonalDrives` and `crawlSharedWithMe` .
> > > * **SharePoint** (`type` : `SHAREPOINTV3` ) – Requires `connectionConfiguration` with `tenantId` in UUID format. Supports `dataEntityConfiguration` with `siteUrls` , `crawlFiles` , and `crawlPages` .
> > > * **Web Crawler** (`type` : `WEBCRAWLERV3` ) – Requires `connectionConfiguration` with `seedUrls` or `siteMapUrls` (mutually exclusive) and `authType` . Supports `crawlConfiguration` for crawl depth, rate limits, and scope. Supports `filterConfiguration` for file size limits and URL patterns. Valid values for `authType` : `NO_AUTH` , `BASIC_AUTH` , `FORM` , `SAML` .

> > > > **Enabling document-level access control for Amazon S3**

> > > For an Amazon S3 (`S3V2` ) knowledge base, document-level access control is governed by two settings that must both be enabled:

> > > * In this template, set `accessControlConfiguration.crawlAcl` to `true` . Define ACLs either in a global ACL configuration file, referenced by `accessControlConfiguration.aclConfigurationFilePath` , or in per-document metadata files. To control access for prefixes that are not listed in the ACL file, you can also set `accessControlConfiguration.defaultAccessType` .
> > > * In the `CreateKnowledgeBase` or `UpdateKnowledgeBase` request, set the top-level `AccessControlConfiguration.isACLEnabled` to `true` .

Shorthand Syntax:

```
templateConfiguration={}
```

JSON Syntax:

```json
{
  "templateConfiguration": {
    "template": {...}
  }
}
```

`--media-extraction-configuration` (structure)

> The configuration for media extraction from knowledge base documents.

> imageExtractionConfiguration -> (structure)

> > The configuration for image extraction.

> > imageExtractionStatus -> (string) [required]

> > > The status of image extraction. Valid values are ENABLED and DISABLED.

> > > Possible values:

> > > * `ENABLED`
> > > * `DISABLED`

> audioExtractionConfiguration -> (structure)

> > The configuration for audio extraction.

> > audioExtractionStatus -> (string) [required]

> > > The status of audio extraction. Valid values are ENABLED and DISABLED.

> > > Possible values:

> > > * `ENABLED`
> > > * `DISABLED`

> videoExtractionConfiguration -> (structure)

> > The configuration for video extraction.

> > videoExtractionStatus -> (string) [required]

> > > The status of video extraction. Valid values are ENABLED and DISABLED.

> > > Possible values:

> > > * `ENABLED`
> > > * `DISABLED`

> > videoExtractionType -> (string)

> > > The type of video extraction to perform.

> > > Possible values:

> > > * `AUDIO_TRANSCRIPTION_ONLY`
> > > * `VISUAL_CONTENT_AND_AUDIO_TRANSCRIPTION`

Shorthand Syntax:

```
imageExtractionConfiguration={imageExtractionStatus=string},audioExtractionConfiguration={audioExtractionStatus=string},videoExtractionConfiguration={videoExtractionStatus=string,videoExtractionType=string}
```

JSON Syntax:

```json
{
  "imageExtractionConfiguration": {
    "imageExtractionStatus": "ENABLED"|"DISABLED"
  },
  "audioExtractionConfiguration": {
    "audioExtractionStatus": "ENABLED"|"DISABLED"
  },
  "videoExtractionConfiguration": {
    "videoExtractionStatus": "ENABLED"|"DISABLED",
    "videoExtractionType": "AUDIO_TRANSCRIPTION_ONLY"|"VISUAL_CONTENT_AND_AUDIO_TRANSCRIPTION"
  }
}
```

`--is-email-notification-opted-for-ingestion-failures` | `--no-is-email-notification-opted-for-ingestion-failures` (boolean)

> Specifies whether email notifications are enabled for ingestion failures.

`--access-control-configuration` (structure)

> The access control configuration for the knowledge base. If you don’t specify this parameter, the existing setting is retained.

> isACLEnabled -> (boolean)

> > Specifies whether ACLs are enabled for the knowledge base.

> > This setting works together with the data source connector’s ACL crawling. To enforce document-level access control end to end, set `isACLEnabled` to `true` and enable ACL crawling on the connector. For example, for an Amazon S3 data source, set `accessControlConfiguration.crawlAcl` to `true` in the connector template. For more information, see `KbTemplateConfiguration` . Enabling only one of the two settings does not produce a fully ACL-enforced knowledge base.

Shorthand Syntax:

```
isACLEnabled=boolean
```

JSON Syntax:

```json
{
  "isACLEnabled": true|false
}
```

`--cli-input-json` | `--cli-input-yaml` (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by `--generate-cli-skeleton`. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with `--cli-input-yaml`.

`--generate-cli-skeleton` (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value `input`, prints a sample input JSON that can be used as an argument for `--cli-input-json`. Similarly, if provided `yaml-input` it will print a sample input YAML that can be used with `--cli-input-yaml`. If provided with the value `output`, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

## Global Options

`--debug` (boolean)

Turn on debug logging.

`--endpoint-url` (string)

Override command’s default URL with the given URL.

`--no-verify-ssl` (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

`--no-paginate` (boolean)

Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.

`--output` (string)

The formatting style for command output.

* json
* text
* table
* yaml
* yaml-stream
* off

`--query` (string)

A JMESPath query to use in filtering the response data.

`--profile` (string)

Use a specific profile from your credential file.

`--region` (string)

The region to use. Overrides config/env settings.

`--version` (string)

Display the version of this tool.

`--color` (string)

Turn on/off color output.

* on
* off
* auto

`--no-sign-request` (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

`--ca-bundle` (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

`--cli-read-timeout` (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

`--cli-connect-timeout` (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.

`--cli-binary-format` (string)

The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob `fileb://` will always be treated as binary and use the file contents directly regardless of the `cli-binary-format` setting. When using `file://` the file contents will need to properly formatted for the configured `cli-binary-format`.

* base64
* raw-in-base64-out

`--no-cli-pager` (boolean)

Disable cli pager for output.

`--cli-auto-prompt` (boolean)

Automatically prompt for CLI input parameters.

`--no-cli-auto-prompt` (boolean)

Disable automatically prompt for CLI input parameters.

`--cli-error-format` (string)

The formatting style for error output. By default, errors are displayed in enhanced format.

* legacy
* json
* yaml
* text
* table
* enhanced

## Output

KnowledgeBaseArn -> (string)

> The Amazon Resource Name (ARN) of the knowledge base.

> Constraints:

> * min: `0`
> * max: `1284`
> * pattern: `arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}`

KnowledgeBaseId -> (string)

> The unique identifier for the knowledge base.

> Constraints:

> * min: `1`
> * max: `1024`
> * pattern: `[0-9a-zA-Z-_=.+]+`

RequestId -> (string)

> The Amazon Web Services request ID for this operation.

Status -> (integer)

> The HTTP status of the request.
