diff --git a/.docs.version b/.docs.version
index a3d9075ea9..1fec3807c4 100644
--- a/.docs.version
+++ b/.docs.version
@@ -1 +1 @@
-cf65f1be63695e2ddf1fbba392383c45c604f8b3
+d9a7a3f3043f4f8b764c54129f8d3316d8822ecd
diff --git a/aws-cloudformation-schema/aws-amazonmq-configuration.json b/aws-cloudformation-schema/aws-amazonmq-configuration.json
index 807118ccbe..3ca8da0e9f 100644
--- a/aws-cloudformation-schema/aws-amazonmq-configuration.json
+++ b/aws-cloudformation-schema/aws-amazonmq-configuration.json
@@ -72,7 +72,7 @@
     "tagProperty" : "/properties/Tags",
     "permissions" : [ "mq:ListTags", "mq:CreateTags", "mq:DeleteTags" ]
   },
-  "required" : [ "EngineType", "Data", "Name" ],
+  "required" : [ "EngineType", "Name" ],
   "propertyTransform" : {
     "/properties/AuthenticationStrategy" : "$uppercase(AuthenticationStrategy)",
     "/properties/EngineType" : "$uppercase(EngineType)"
diff --git a/aws-cloudformation-schema/aws-ec2-launchtemplate.json b/aws-cloudformation-schema/aws-ec2-launchtemplate.json
index e5a82f7e27..0b3178e5f8 100644
--- a/aws-cloudformation-schema/aws-ec2-launchtemplate.json
+++ b/aws-cloudformation-schema/aws-ec2-launchtemplate.json
@@ -45,12 +45,16 @@
         },
         "TagSpecifications" : {
           "uniqueItems" : false,
-          "description" : "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).",
+          "description" : "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).",
           "type" : "array",
           "items" : {
             "$ref" : "#/definitions/TagSpecification"
           }
         },
+        "NetworkPerformanceOptions" : {
+          "description" : "",
+          "$ref" : "#/definitions/NetworkPerformanceOptions"
+        },
         "UserData" : {
           "description" : "The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*.\n If you are creating the launch template for use with BATCH, the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive). For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *User Guide*.",
           "type" : "string"
@@ -89,7 +93,7 @@
         },
         "ElasticInferenceAccelerators" : {
           "uniqueItems" : false,
-          "description" : "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.",
+          "description" : "Amazon Elastic Inference is no longer available.\n  An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.",
           "type" : "array",
           "items" : {
             "$ref" : "#/definitions/LaunchTemplateElasticInferenceAccelerator"
@@ -176,7 +180,7 @@
           "$ref" : "#/definitions/InstanceMarketOptions"
         },
         "InstanceRequirements" : {
-          "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.",
+          "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.",
           "$ref" : "#/definitions/InstanceRequirements"
         },
         "RamDiskId" : {
@@ -243,6 +247,7 @@
       "type" : "object",
       "properties" : {
         "References" : {
+          "description" : "",
           "$ref" : "#/definitions/References"
         }
       }
@@ -386,7 +391,7 @@
           "type" : "string"
         },
         "KmsKeyId" : {
-          "description" : "The ARN of the symmetric KMSlong (KMS) CMK used for encryption.",
+          "description" : "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.",
           "type" : "string"
         },
         "Encrypted" : {
@@ -519,7 +524,7 @@
       "type" : "object",
       "properties" : {
         "InstanceFamily" : {
-          "description" : "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.",
+          "description" : "",
           "type" : "string"
         }
       }
@@ -653,7 +658,7 @@
           "type" : "integer"
         },
         "InterfaceType" : {
-          "description" : "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``",
+          "description" : "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``",
           "type" : "string"
         },
         "AssociateCarrierIpAddress" : {
@@ -732,7 +737,7 @@
       }
     },
     "LaunchTemplateTagSpecification" : {
-      "description" : "Specifies the tags to apply to the launch template during creation.\n  ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).",
+      "description" : "Specifies the tags to apply to the launch template during creation.\n To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).\n  ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).",
       "additionalProperties" : false,
       "type" : "object",
       "properties" : {
@@ -751,7 +756,7 @@
       }
     },
     "TagSpecification" : {
-      "description" : "Specifies the tags to apply to a resource when the resource is created for the launch template.\n  ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).",
+      "description" : "Specifies the tags to apply to resources that are created during instance launch.\n  ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).",
       "additionalProperties" : false,
       "type" : "object",
       "properties" : {
@@ -835,11 +840,12 @@
       }
     },
     "BaselinePerformanceFactors" : {
-      "description" : "",
+      "description" : "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.\n Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.",
       "additionalProperties" : false,
       "type" : "object",
       "properties" : {
         "Cpu" : {
+          "description" : "The CPU performance to consider, using an instance family as the baseline reference.",
           "$ref" : "#/definitions/Cpu"
         }
       }
@@ -875,7 +881,7 @@
       }
     },
     "InstanceRequirements" : {
-      "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.",
+      "description" : "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.",
       "additionalProperties" : false,
       "type" : "object",
       "properties" : {
@@ -893,7 +899,7 @@
         },
         "AcceleratorTypes" : {
           "uniqueItems" : false,
-          "description" : "The accelerator types that must be on the instance type.\n  +  For instance types with GPU accelerators, specify ``gpu``.\n  +  For instance types with FPGA accelerators, specify ``fpga``.\n  +  For instance types with inference accelerators, specify ``inference``.\n  \n Default: Any accelerator type",
+          "description" : "The accelerator types that must be on the instance type.\n  +  For instance types with GPU accelerators, specify ``gpu``.\n  +  For instance types with FPGA accelerators, specify ``fpga``.\n  \n Default: Any accelerator type",
           "type" : "array",
           "items" : {
             "type" : "string"
@@ -917,7 +923,7 @@
         },
         "CpuManufacturers" : {
           "uniqueItems" : false,
-          "description" : "The CPU manufacturers to include.\n  +  For instance types with Intel CPUs, specify ``intel``.\n  +  For instance types with AMD CPUs, specify ``amd``.\n  +  For instance types with AWS CPUs, specify ``amazon-web-services``.\n  \n  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n  Default: Any manufacturer",
+          "description" : "The CPU manufacturers to include.\n  +  For instance types with Intel CPUs, specify ``intel``.\n  +  For instance types with AMD CPUs, specify ``amd``.\n  +  For instance types with AWS CPUs, specify ``amazon-web-services``.\n  +  For instance types with Apple CPUs, specify ``apple``.\n  \n  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n  Default: Any manufacturer",
           "type" : "array",
           "items" : {
             "type" : "string"
@@ -981,7 +987,7 @@
           "$ref" : "#/definitions/NetworkBandwidthGbps"
         },
         "BaselinePerformanceFactors" : {
-          "description" : "",
+          "description" : "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.",
           "$ref" : "#/definitions/BaselinePerformanceFactors"
         },
         "SpotMaxPricePercentageOverLowestPrice" : {
@@ -1066,7 +1072,7 @@
       "type" : "object",
       "properties" : {
         "CapacityReservationPreference" : {
-          "description" : "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n  +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).\n  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.",
+          "description" : "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n  +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n  +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.",
           "type" : "string"
         },
         "CapacityReservationTarget" : {
@@ -1137,7 +1143,7 @@
     },
     "TagSpecifications" : {
       "uniqueItems" : false,
-      "description" : "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).",
+      "description" : "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).",
       "type" : "array",
       "items" : {
         "$ref" : "#/definitions/LaunchTemplateTagSpecification"
diff --git a/aws-cloudformation-schema/aws-kendra-index.json b/aws-cloudformation-schema/aws-kendra-index.json
index b27f744257..9305a712ee 100644
--- a/aws-cloudformation-schema/aws-kendra-index.json
+++ b/aws-cloudformation-schema/aws-kendra-index.json
@@ -188,7 +188,7 @@
     "Edition" : {
       "description" : "Edition of index",
       "type" : "string",
-      "enum" : [ "DEVELOPER_EDITION", "ENTERPRISE_EDITION" ]
+      "enum" : [ "DEVELOPER_EDITION", "ENTERPRISE_EDITION", "GEN_AI_ENTERPRISE_EDITION" ]
     },
     "Name" : {
       "description" : "Name of index",
diff --git a/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json b/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json
index c68c8f7b6a..b11bf9b9df 100644
--- a/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json
+++ b/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json
@@ -178,11 +178,11 @@
       "$ref" : "#/definitions/DocumentDBEventSourceConfig"
     },
     "ProvisionedPollerConfig" : {
-      "description" : "",
+      "description" : "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).",
       "$ref" : "#/definitions/ProvisionedPollerConfig"
     },
     "MetricsConfig" : {
-      "description" : "",
+      "description" : "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).",
       "$ref" : "#/definitions/MetricsConfig"
     }
   },
@@ -235,7 +235,7 @@
       "additionalProperties" : false,
       "properties" : {
         "Destination" : {
-          "description" : "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.",
+          "description" : "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.",
           "type" : "string",
           "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)",
           "minLength" : 12,
@@ -385,7 +385,7 @@
       }
     },
     "ProvisionedPollerConfig" : {
-      "description" : "",
+      "description" : "The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.",
       "type" : "object",
       "additionalProperties" : false,
       "properties" : {
@@ -404,12 +404,12 @@
       }
     },
     "MetricsConfig" : {
-      "description" : "",
+      "description" : "The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.",
       "type" : "object",
       "additionalProperties" : false,
       "properties" : {
         "Metrics" : {
-          "description" : "Metric groups to enable.",
+          "description" : "The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).",
           "type" : "array",
           "uniqueItems" : true,
           "items" : {
diff --git a/aws-cloudformation-schema/aws-qbusiness-application.json b/aws-cloudformation-schema/aws-qbusiness-application.json
index fe6cd056b1..6a704248a9 100644
--- a/aws-cloudformation-schema/aws-qbusiness-application.json
+++ b/aws-cloudformation-schema/aws-qbusiness-application.json
@@ -50,7 +50,21 @@
     },
     "IdentityType" : {
       "type" : "string",
-      "enum" : [ "AWS_IAM_IDP_SAML", "AWS_IAM_IDP_OIDC", "AWS_IAM_IDC" ]
+      "enum" : [ "AWS_IAM_IDP_SAML", "AWS_IAM_IDP_OIDC", "AWS_IAM_IDC", "AWS_QUICKSIGHT_IDP" ]
+    },
+    "PersonalizationConfiguration" : {
+      "type" : "object",
+      "properties" : {
+        "PersonalizationControlMode" : {
+          "$ref" : "#/definitions/PersonalizationControlMode"
+        }
+      },
+      "required" : [ "PersonalizationControlMode" ],
+      "additionalProperties" : false
+    },
+    "PersonalizationControlMode" : {
+      "type" : "string",
+      "enum" : [ "ENABLED", "DISABLED" ]
     },
     "QAppsConfiguration" : {
       "type" : "object",
@@ -66,23 +80,22 @@
       "type" : "string",
       "enum" : [ "ENABLED", "DISABLED" ]
     },
-    "SubscriptionType" : {
-      "type" : "string",
-      "enum" : [ "Q_LITE", "Q_BUSINESS" ]
-    },
-    "PersonalizationConfiguration" : {
+    "QuickSightConfiguration" : {
       "type" : "object",
       "properties" : {
-        "PersonalizationControlMode" : {
-          "$ref" : "#/definitions/PersonalizationControlMode"
+        "ClientNamespace" : {
+          "type" : "string",
+          "maxLength" : 64,
+          "minLength" : 1,
+          "pattern" : "^[a-zA-Z0-9._-]*$"
         }
       },
-      "required" : [ "PersonalizationControlMode" ],
+      "required" : [ "ClientNamespace" ],
       "additionalProperties" : false
     },
-    "PersonalizationControlMode" : {
+    "SubscriptionType" : {
       "type" : "string",
-      "enum" : [ "ENABLED", "DISABLED" ]
+      "enum" : [ "Q_LITE", "Q_BUSINESS" ]
     },
     "Tag" : {
       "type" : "object",
@@ -123,7 +136,6 @@
     },
     "ClientIdsForOIDC" : {
       "type" : "array",
-      "insertionOrder" : false,
       "items" : {
         "type" : "string",
         "maxLength" : 255,
@@ -162,12 +174,6 @@
       "minLength" : 10,
       "pattern" : "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$"
     },
-    "QAppsConfiguration" : {
-      "$ref" : "#/definitions/QAppsConfiguration"
-    },
-    "PersonalizationConfiguration" : {
-      "$ref" : "#/definitions/PersonalizationConfiguration"
-    },
     "IdentityCenterInstanceArn" : {
       "type" : "string",
       "maxLength" : 1224,
@@ -177,6 +183,15 @@
     "IdentityType" : {
       "$ref" : "#/definitions/IdentityType"
     },
+    "PersonalizationConfiguration" : {
+      "$ref" : "#/definitions/PersonalizationConfiguration"
+    },
+    "QAppsConfiguration" : {
+      "$ref" : "#/definitions/QAppsConfiguration"
+    },
+    "QuickSightConfiguration" : {
+      "$ref" : "#/definitions/QuickSightConfiguration"
+    },
     "RoleArn" : {
       "type" : "string",
       "maxLength" : 1284,
@@ -188,7 +203,6 @@
     },
     "Tags" : {
       "type" : "array",
-      "insertionOrder" : false,
       "items" : {
         "$ref" : "#/definitions/Tag"
       },
@@ -203,11 +217,11 @@
   "required" : [ "DisplayName" ],
   "readOnlyProperties" : [ "/properties/ApplicationArn", "/properties/ApplicationId", "/properties/CreatedAt", "/properties/IdentityCenterApplicationArn", "/properties/Status", "/properties/UpdatedAt" ],
   "writeOnlyProperties" : [ "/properties/IdentityCenterInstanceArn" ],
-  "createOnlyProperties" : [ "/properties/ClientIdsForOIDC", "/properties/EncryptionConfiguration", "/properties/IamIdentityProviderArn", "/properties/IdentityType" ],
+  "createOnlyProperties" : [ "/properties/ClientIdsForOIDC", "/properties/EncryptionConfiguration", "/properties/IamIdentityProviderArn", "/properties/IdentityType", "/properties/QuickSightConfiguration" ],
   "primaryIdentifier" : [ "/properties/ApplicationId" ],
   "handlers" : {
     "create" : {
-      "permissions" : [ "iam:GetSAMLProvider", "iam:PassRole", "kms:CreateGrant", "kms:DescribeKey", "qbusiness:CreateApplication", "qbusiness:GetApplication", "qbusiness:UpdateApplication", "qbusiness:ListTagsForResource", "qbusiness:TagResource", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeInstance", "sso:PutApplicationAccessScope", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ]
+      "permissions" : [ "iam:GetSAMLProvider", "iam:PassRole", "kms:CreateGrant", "kms:DescribeKey", "qbusiness:CreateApplication", "qbusiness:GetApplication", "qbusiness:ListTagsForResource", "qbusiness:TagResource", "qbusiness:UpdateApplication", "quicksight:DescribeAccountSubscription", "quicksight:ListNamespaces", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeInstance", "sso:PutApplicationAccessScope", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ]
     },
     "read" : {
       "permissions" : [ "qbusiness:GetApplication", "qbusiness:ListTagsForResource" ]
diff --git a/aws-cloudformation-schema/aws-qbusiness-dataaccessor.json b/aws-cloudformation-schema/aws-qbusiness-dataaccessor.json
new file mode 100644
index 0000000000..b2bfdcb15e
--- /dev/null
+++ b/aws-cloudformation-schema/aws-qbusiness-dataaccessor.json
@@ -0,0 +1,260 @@
+{
+  "typeName" : "AWS::QBusiness::DataAccessor",
+  "description" : "Definition of AWS::QBusiness::DataAccessor Resource Type",
+  "definitions" : {
+    "ActionConfiguration" : {
+      "type" : "object",
+      "properties" : {
+        "Action" : {
+          "type" : "string",
+          "pattern" : "^qbusiness:[a-zA-Z]+$"
+        },
+        "FilterConfiguration" : {
+          "$ref" : "#/definitions/ActionFilterConfiguration"
+        }
+      },
+      "required" : [ "Action" ],
+      "additionalProperties" : false
+    },
+    "ActionFilterConfiguration" : {
+      "type" : "object",
+      "properties" : {
+        "DocumentAttributeFilter" : {
+          "$ref" : "#/definitions/AttributeFilter"
+        }
+      },
+      "required" : [ "DocumentAttributeFilter" ],
+      "additionalProperties" : false
+    },
+    "AttributeFilter" : {
+      "type" : "object",
+      "properties" : {
+        "AndAllFilters" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/AttributeFilter"
+          }
+        },
+        "OrAllFilters" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/AttributeFilter"
+          }
+        },
+        "NotFilter" : {
+          "$ref" : "#/definitions/AttributeFilter"
+        },
+        "EqualsTo" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        },
+        "ContainsAll" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        },
+        "ContainsAny" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        },
+        "GreaterThan" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        },
+        "GreaterThanOrEquals" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        },
+        "LessThan" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        },
+        "LessThanOrEquals" : {
+          "$ref" : "#/definitions/DocumentAttribute"
+        }
+      },
+      "additionalProperties" : false
+    },
+    "DocumentAttribute" : {
+      "type" : "object",
+      "properties" : {
+        "Name" : {
+          "type" : "string",
+          "maxLength" : 200,
+          "minLength" : 1,
+          "pattern" : "^[a-zA-Z0-9_][a-zA-Z0-9_-]*$"
+        },
+        "Value" : {
+          "$ref" : "#/definitions/DocumentAttributeValue"
+        }
+      },
+      "required" : [ "Name", "Value" ],
+      "additionalProperties" : false
+    },
+    "DocumentAttributeValue" : {
+      "oneOf" : [ {
+        "type" : "object",
+        "title" : "StringValue",
+        "properties" : {
+          "StringValue" : {
+            "type" : "string",
+            "maxLength" : 2048
+          }
+        },
+        "required" : [ "StringValue" ],
+        "additionalProperties" : false
+      }, {
+        "type" : "object",
+        "title" : "StringListValue",
+        "properties" : {
+          "StringListValue" : {
+            "type" : "array",
+            "items" : {
+              "type" : "string",
+              "maxLength" : 2048,
+              "minLength" : 1
+            }
+          }
+        },
+        "required" : [ "StringListValue" ],
+        "additionalProperties" : false
+      }, {
+        "type" : "object",
+        "title" : "LongValue",
+        "properties" : {
+          "LongValue" : {
+            "type" : "number"
+          }
+        },
+        "required" : [ "LongValue" ],
+        "additionalProperties" : false
+      }, {
+        "type" : "object",
+        "title" : "DateValue",
+        "properties" : {
+          "DateValue" : {
+            "type" : "string",
+            "format" : "date-time"
+          }
+        },
+        "required" : [ "DateValue" ],
+        "additionalProperties" : false
+      } ]
+    },
+    "Tag" : {
+      "type" : "object",
+      "properties" : {
+        "Key" : {
+          "type" : "string",
+          "maxLength" : 128,
+          "minLength" : 1
+        },
+        "Value" : {
+          "type" : "string",
+          "maxLength" : 256,
+          "minLength" : 0
+        }
+      },
+      "required" : [ "Key", "Value" ],
+      "additionalProperties" : false
+    },
+    "Unit" : {
+      "type" : "object",
+      "additionalProperties" : false
+    }
+  },
+  "properties" : {
+    "ActionConfigurations" : {
+      "type" : "array",
+      "items" : {
+        "$ref" : "#/definitions/ActionConfiguration"
+      },
+      "maxItems" : 10,
+      "minItems" : 1
+    },
+    "ApplicationId" : {
+      "type" : "string",
+      "maxLength" : 36,
+      "minLength" : 36,
+      "pattern" : "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$"
+    },
+    "CreatedAt" : {
+      "type" : "string",
+      "format" : "date-time"
+    },
+    "DataAccessorArn" : {
+      "type" : "string",
+      "maxLength" : 1284,
+      "minLength" : 0,
+      "pattern" : "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$"
+    },
+    "DataAccessorId" : {
+      "type" : "string",
+      "maxLength" : 36,
+      "minLength" : 36,
+      "pattern" : "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$"
+    },
+    "DisplayName" : {
+      "type" : "string",
+      "maxLength" : 1000,
+      "minLength" : 1,
+      "pattern" : "^[a-zA-Z0-9][a-zA-Z0-9_-]*$"
+    },
+    "IdcApplicationArn" : {
+      "type" : "string",
+      "maxLength" : 1224,
+      "minLength" : 10,
+      "pattern" : "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$"
+    },
+    "Principal" : {
+      "type" : "string",
+      "maxLength" : 1284,
+      "minLength" : 1,
+      "pattern" : "^arn:aws:iam::[0-9]{12}:role/.+"
+    },
+    "Tags" : {
+      "type" : "array",
+      "items" : {
+        "$ref" : "#/definitions/Tag"
+      },
+      "maxItems" : 200,
+      "minItems" : 0
+    },
+    "UpdatedAt" : {
+      "type" : "string",
+      "format" : "date-time"
+    }
+  },
+  "required" : [ "ActionConfigurations", "DisplayName", "Principal" ],
+  "readOnlyProperties" : [ "/properties/CreatedAt", "/properties/DataAccessorArn", "/properties/DataAccessorId", "/properties/IdcApplicationArn", "/properties/UpdatedAt" ],
+  "createOnlyProperties" : [ "/properties/ApplicationId", "/properties/Principal" ],
+  "primaryIdentifier" : [ "/properties/ApplicationId", "/properties/DataAccessorId" ],
+  "handlers" : {
+    "create" : {
+      "permissions" : [ "qbusiness:CreateDataAccessor", "qbusiness:GetDataAccessor", "qbusiness:ListTagsForResource", "qbusiness:TagResource", "sso:CreateApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope" ]
+    },
+    "read" : {
+      "permissions" : [ "qbusiness:GetDataAccessor", "qbusiness:ListTagsForResource" ]
+    },
+    "update" : {
+      "permissions" : [ "qbusiness:GetDataAccessor", "qbusiness:ListTagsForResource", "qbusiness:TagResource", "qbusiness:UntagResource", "qbusiness:UpdateDataAccessor" ]
+    },
+    "delete" : {
+      "permissions" : [ "qbusiness:DeleteDataAccessor", "qbusiness:GetDataAccessor", "sso:DeleteApplication" ]
+    },
+    "list" : {
+      "permissions" : [ "qbusiness:ListDataAccessors" ],
+      "handlerSchema" : {
+        "properties" : {
+          "ApplicationId" : {
+            "$ref" : "resource-schema.json#/properties/ApplicationId"
+          }
+        },
+        "required" : [ "ApplicationId" ]
+      }
+    }
+  },
+  "tagging" : {
+    "taggable" : true,
+    "tagUpdatable" : true,
+    "tagOnCreate" : true,
+    "cloudFormationSystemTags" : true,
+    "tagProperty" : "/properties/Tags",
+    "permissions" : [ "qbusiness:UntagResource", "qbusiness:TagResource", "qbusiness:ListTagsForResource" ]
+  },
+  "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness",
+  "additionalProperties" : false
+}
\ No newline at end of file
diff --git a/aws-cloudformation-schema/aws-qbusiness-datasource.json b/aws-cloudformation-schema/aws-qbusiness-datasource.json
index f2fc232981..c20b6d34b7 100644
--- a/aws-cloudformation-schema/aws-qbusiness-datasource.json
+++ b/aws-cloudformation-schema/aws-qbusiness-datasource.json
@@ -136,6 +136,29 @@
       "type" : "string",
       "enum" : [ "GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS", "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "BEGINS_WITH" ]
     },
+    "ImageExtractionStatus" : {
+      "type" : "string",
+      "enum" : [ "ENABLED", "DISABLED" ]
+    },
+    "ImageExtractionConfiguration" : {
+      "type" : "object",
+      "properties" : {
+        "ImageExtractionStatus" : {
+          "$ref" : "#/definitions/ImageExtractionStatus"
+        }
+      },
+      "required" : [ "ImageExtractionStatus" ],
+      "additionalProperties" : false
+    },
+    "MediaExtractionConfiguration" : {
+      "type" : "object",
+      "properties" : {
+        "ImageExtractionConfiguration" : {
+          "$ref" : "#/definitions/ImageExtractionConfiguration"
+        }
+      },
+      "additionalProperties" : false
+    },
     "DocumentEnrichmentConfiguration" : {
       "type" : "object",
       "properties" : {
@@ -256,6 +279,9 @@
     "DocumentEnrichmentConfiguration" : {
       "$ref" : "#/definitions/DocumentEnrichmentConfiguration"
     },
+    "MediaExtractionConfiguration" : {
+      "$ref" : "#/definitions/MediaExtractionConfiguration"
+    },
     "IndexId" : {
       "type" : "string",
       "maxLength" : 36,
diff --git a/aws-cloudformation-schema/aws-qbusiness-permission.json b/aws-cloudformation-schema/aws-qbusiness-permission.json
new file mode 100644
index 0000000000..42a767651f
--- /dev/null
+++ b/aws-cloudformation-schema/aws-qbusiness-permission.json
@@ -0,0 +1,66 @@
+{
+  "typeName" : "AWS::QBusiness::Permission",
+  "description" : "Definition of AWS::QBusiness::Permission Resource Type",
+  "properties" : {
+    "ApplicationId" : {
+      "type" : "string",
+      "maxLength" : 36,
+      "minLength" : 36,
+      "pattern" : "^[a-zA-Z0-9][a-zA-Z0-9-]{35}$"
+    },
+    "StatementId" : {
+      "type" : "string",
+      "maxLength" : 100,
+      "minLength" : 1,
+      "pattern" : "^[a-zA-Z0-9_-]+$"
+    },
+    "Actions" : {
+      "type" : "array",
+      "items" : {
+        "type" : "string",
+        "pattern" : "^qbusiness:[a-zA-Z]+$"
+      },
+      "maxItems" : 10,
+      "minItems" : 1
+    },
+    "Principal" : {
+      "type" : "string",
+      "maxLength" : 1284,
+      "minLength" : 1,
+      "pattern" : "^arn:aws:iam::[0-9]{12}:role/.+"
+    }
+  },
+  "required" : [ "ApplicationId", "StatementId", "Actions", "Principal" ],
+  "createOnlyProperties" : [ "/properties/ApplicationId", "/properties/StatementId", "/properties/Actions", "/properties/Principal" ],
+  "primaryIdentifier" : [ "/properties/ApplicationId", "/properties/StatementId" ],
+  "handlers" : {
+    "create" : {
+      "permissions" : [ "qbusiness:AssociatePermission", "qbusiness:PutResourcePolicy" ]
+    },
+    "read" : {
+      "permissions" : [ "qbusiness:GetPolicy" ]
+    },
+    "delete" : {
+      "permissions" : [ "qbusiness:DisassociatePermission", "qbusiness:PutResourcePolicy" ]
+    },
+    "list" : {
+      "permissions" : [ "qbusiness:GetPolicy" ],
+      "handlerSchema" : {
+        "properties" : {
+          "ApplicationId" : {
+            "$ref" : "resource-schema.json#/properties/ApplicationId"
+          }
+        },
+        "required" : [ "ApplicationId" ]
+      }
+    }
+  },
+  "tagging" : {
+    "taggable" : false,
+    "tagOnCreate" : false,
+    "tagUpdatable" : false,
+    "cloudFormationSystemTags" : false
+  },
+  "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness",
+  "additionalProperties" : false
+}
\ No newline at end of file
diff --git a/aws-cloudformation-schema/aws-qbusiness-plugin.json b/aws-cloudformation-schema/aws-qbusiness-plugin.json
index d4a3475ee6..3343310ca0 100644
--- a/aws-cloudformation-schema/aws-qbusiness-plugin.json
+++ b/aws-cloudformation-schema/aws-qbusiness-plugin.json
@@ -84,6 +84,18 @@
           "maxLength" : 1284,
           "minLength" : 0,
           "pattern" : "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$"
+        },
+        "AuthorizationUrl" : {
+          "type" : "string",
+          "maxLength" : 2048,
+          "minLength" : 1,
+          "pattern" : "^(https?|ftp|file)://([^\\s]*)$"
+        },
+        "TokenUrl" : {
+          "type" : "string",
+          "maxLength" : 2048,
+          "minLength" : 1,
+          "pattern" : "^(https?|ftp|file)://([^\\s]*)$"
         }
       },
       "required" : [ "RoleArn", "SecretArn" ],
@@ -132,7 +144,7 @@
     },
     "PluginType" : {
       "type" : "string",
-      "enum" : [ "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM" ]
+      "enum" : [ "SERVICE_NOW", "SALESFORCE", "JIRA", "ZENDESK", "CUSTOM", "QUICKSIGHT", "SERVICENOW_NOW_PLATFORM", "JIRA_CLOUD", "SALESFORCE_CRM", "ZENDESK_SUITE", "ATLASSIAN_CONFLUENCE", "GOOGLE_CALENDAR", "MICROSOFT_TEAMS", "MICROSOFT_EXCHANGE", "PAGERDUTY_ADVANCE", "SMARTSHEET", "ASANA" ]
     },
     "S3" : {
       "type" : "object",
@@ -219,7 +231,6 @@
     },
     "Tags" : {
       "type" : "array",
-      "insertionOrder" : false,
       "items" : {
         "$ref" : "#/definitions/Tag"
       },
@@ -234,13 +245,13 @@
       "format" : "date-time"
     }
   },
-  "required" : [ "ApplicationId", "AuthConfiguration", "DisplayName", "Type" ],
+  "required" : [ "AuthConfiguration", "DisplayName", "Type" ],
   "readOnlyProperties" : [ "/properties/BuildStatus", "/properties/CreatedAt", "/properties/PluginArn", "/properties/PluginId", "/properties/UpdatedAt" ],
   "createOnlyProperties" : [ "/properties/ApplicationId", "/properties/Type" ],
   "primaryIdentifier" : [ "/properties/ApplicationId", "/properties/PluginId" ],
   "handlers" : {
     "create" : {
-      "permissions" : [ "iam:PassRole", "qbusiness:CreatePlugin", "qbusiness:GetPlugin", "qbusiness:ListTagsForResource", "qbusiness:TagResource", "qbusiness:UpdatePlugin" ]
+      "permissions" : [ "iam:PassRole", "qbusiness:CreatePlugin", "qbusiness:GetPlugin", "qbusiness:ListTagsForResource", "qbusiness:TagResource" ]
     },
     "read" : {
       "permissions" : [ "qbusiness:GetPlugin", "qbusiness:ListTagsForResource" ]
@@ -264,7 +275,12 @@
     }
   },
   "tagging" : {
-    "taggable" : true
+    "taggable" : true,
+    "tagUpdatable" : true,
+    "tagOnCreate" : true,
+    "cloudFormationSystemTags" : true,
+    "tagProperty" : "/properties/Tags",
+    "permissions" : [ "qbusiness:UntagResource", "qbusiness:TagResource", "qbusiness:ListTagsForResource" ]
   },
   "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness",
   "additionalProperties" : false
diff --git a/aws-cloudformation-schema/aws-qbusiness-webexperience.json b/aws-cloudformation-schema/aws-qbusiness-webexperience.json
index 006f63ba73..db0f70f3d3 100644
--- a/aws-cloudformation-schema/aws-qbusiness-webexperience.json
+++ b/aws-cloudformation-schema/aws-qbusiness-webexperience.json
@@ -87,6 +87,36 @@
       "maxLength" : 64,
       "minLength" : 1,
       "pattern" : "^(http:\\/\\/|https:\\/\\/)[a-zA-Z0-9-_.]+(?::[0-9]{1,5})?$"
+    },
+    "CustomizationConfiguration" : {
+      "type" : "object",
+      "properties" : {
+        "CustomCSSUrl" : {
+          "type" : "string",
+          "maxLength" : 1284,
+          "minLength" : 0,
+          "pattern" : "^(https?://[a-zA-Z0-9-_.+%/]+\\.css)?$"
+        },
+        "LogoUrl" : {
+          "type" : "string",
+          "maxLength" : 1284,
+          "minLength" : 0,
+          "pattern" : "^(https?://[a-zA-Z0-9-_.+%/]+\\.(svg|png))?$"
+        },
+        "FontUrl" : {
+          "type" : "string",
+          "maxLength" : 1284,
+          "minLength" : 0,
+          "pattern" : "^(https?://[a-zA-Z0-9-_.+%/]+\\.(ttf|woff|woff2|otf))?$"
+        },
+        "FaviconUrl" : {
+          "type" : "string",
+          "maxLength" : 1284,
+          "minLength" : 0,
+          "pattern" : "^(https?://[a-zA-Z0-9-_.+%/]+\\.(svg|ico))?$"
+        }
+      },
+      "additionalProperties" : false
     }
   },
   "properties" : {
@@ -171,6 +201,9 @@
       },
       "maxItems" : 10,
       "minItems" : 0
+    },
+    "CustomizationConfiguration" : {
+      "$ref" : "#/definitions/CustomizationConfiguration"
     }
   },
   "required" : [ "ApplicationId" ],
diff --git a/aws-cloudformation-schema/aws-sagemaker-partnerapp.json b/aws-cloudformation-schema/aws-sagemaker-partnerapp.json
new file mode 100644
index 0000000000..b70c21ba8f
--- /dev/null
+++ b/aws-cloudformation-schema/aws-sagemaker-partnerapp.json
@@ -0,0 +1,183 @@
+{
+  "typeName" : "AWS::SageMaker::PartnerApp",
+  "description" : "Resource Type definition for AWS::SageMaker::PartnerApp",
+  "additionalProperties" : false,
+  "properties" : {
+    "Arn" : {
+      "type" : "string",
+      "description" : "The Amazon Resource Name (ARN) of the created PartnerApp.",
+      "minLength" : 1,
+      "maxLength" : 128,
+      "pattern" : "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:partner-app/app-[A-Z0-9]{12}$"
+    },
+    "Name" : {
+      "type" : "string",
+      "description" : "A name for the PartnerApp.",
+      "minLength" : 1,
+      "maxLength" : 256,
+      "pattern" : "^[a-zA-Z0-9]+"
+    },
+    "Type" : {
+      "type" : "string",
+      "description" : "The type of PartnerApp.",
+      "enum" : [ "lakera-guard", "comet", "deepchecks-llm-evaluation", "fiddler" ]
+    },
+    "ExecutionRoleArn" : {
+      "type" : "string",
+      "description" : "The execution role for the user.",
+      "minLength" : 20,
+      "maxLength" : 2048,
+      "pattern" : "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$"
+    },
+    "Tier" : {
+      "type" : "string",
+      "description" : "The tier of the PartnerApp.",
+      "minLength" : 1,
+      "maxLength" : 64
+    },
+    "EnableIamSessionBasedIdentity" : {
+      "type" : "boolean",
+      "description" : "Enables IAM Session based Identity for PartnerApp."
+    },
+    "ApplicationConfig" : {
+      "$ref" : "#/definitions/PartnerAppConfig",
+      "description" : "A collection of settings that specify the maintenance schedule for the PartnerApp."
+    },
+    "AuthType" : {
+      "type" : "string",
+      "description" : "The Auth type of PartnerApp.",
+      "enum" : [ "IAM" ]
+    },
+    "BaseUrl" : {
+      "type" : "string",
+      "description" : "The AppServerUrl based on app and account-info.",
+      "maxLength" : 2048
+    },
+    "MaintenanceConfig" : {
+      "$ref" : "#/definitions/PartnerAppMaintenanceConfig",
+      "description" : "A collection of settings that specify the maintenance schedule for the PartnerApp."
+    },
+    "ClientToken" : {
+      "type" : "string",
+      "description" : "The client token for the PartnerApp.",
+      "minLength" : 1,
+      "maxLength" : 36,
+      "pattern" : "^[a-zA-Z0-9-]+$"
+    },
+    "Tags" : {
+      "type" : "array",
+      "description" : "A list of tags to apply to the PartnerApp.",
+      "uniqueItems" : false,
+      "insertionOrder" : false,
+      "minItems" : 0,
+      "maxItems" : 50,
+      "items" : {
+        "$ref" : "#/definitions/Tag"
+      }
+    }
+  },
+  "definitions" : {
+    "PartnerAppConfig" : {
+      "type" : "object",
+      "description" : "A collection of configuration settings for the PartnerApp.",
+      "additionalProperties" : false,
+      "properties" : {
+        "AdminUsers" : {
+          "type" : "array",
+          "description" : "A list of users with administrator privileges for the PartnerApp.",
+          "uniqueItems" : true,
+          "insertionOrder" : false,
+          "minItems" : 0,
+          "maxItems" : 5,
+          "items" : {
+            "$ref" : "#/definitions/PartnerAppAdminUserList"
+          }
+        },
+        "Arguments" : {
+          "description" : "A list of arguments to pass to the PartnerApp.",
+          "type" : "object",
+          "additionalProperties" : false,
+          "maxProperties" : 5,
+          "patternProperties" : {
+            "^(?!\\s*$).{1,256}$" : {
+              "type" : "string",
+              "pattern" : "^.{0,1024}$",
+              "maxLength" : 1024
+            }
+          }
+        }
+      }
+    },
+    "PartnerAppAdminUserList" : {
+      "type" : "string",
+      "description" : "A collection of AdminUsers for the PartnerApp",
+      "additionalProperties" : false,
+      "minLength" : 1,
+      "maxLength" : 256
+    },
+    "PartnerAppMaintenanceConfig" : {
+      "type" : "object",
+      "description" : "A collection of settings that specify the maintenance schedule for the PartnerApp.",
+      "additionalProperties" : false,
+      "properties" : {
+        "MaintenanceWindowStart" : {
+          "type" : "string",
+          "description" : "The maintenance window start day and time for the PartnerApp.",
+          "maxLength" : 9,
+          "pattern" : "(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)"
+        }
+      },
+      "required" : [ "MaintenanceWindowStart" ]
+    },
+    "Tag" : {
+      "type" : "object",
+      "additionalProperties" : false,
+      "properties" : {
+        "Value" : {
+          "type" : "string",
+          "minLength" : 1,
+          "maxLength" : 128
+        },
+        "Key" : {
+          "type" : "string",
+          "minLength" : 1,
+          "maxLength" : 128
+        }
+      },
+      "required" : [ "Key", "Value" ]
+    }
+  },
+  "required" : [ "Name", "Type", "AuthType", "ExecutionRoleArn", "Tier" ],
+  "createOnlyProperties" : [ "/properties/Name", "/properties/Type", "/properties/ExecutionRoleArn", "/properties/AuthType" ],
+  "readOnlyProperties" : [ "/properties/Arn", "/properties/BaseUrl" ],
+  "writeOnlyProperties" : [ "/properties/ClientToken" ],
+  "primaryIdentifier" : [ "/properties/Arn" ],
+  "handlers" : {
+    "create" : {
+      "permissions" : [ "sagemaker:CreatePartnerApp", "sagemaker:DescribePartnerApp", "sagemaker:AddTags", "sagemaker:ListTags", "iam:PassRole" ],
+      "timeoutInMinutes" : 180
+    },
+    "read" : {
+      "permissions" : [ "sagemaker:DescribePartnerApp", "sagemaker:ListTags" ]
+    },
+    "update" : {
+      "permissions" : [ "sagemaker:UpdatePartnerApp", "sagemaker:DescribePartnerApp", "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ],
+      "timeoutInMinutes" : 180
+    },
+    "delete" : {
+      "permissions" : [ "sagemaker:DeletePartnerApp", "sagemaker:DescribePartnerApp", "sagemaker:DeleteTags" ],
+      "timeoutInMinutes" : 240
+    },
+    "list" : {
+      "permissions" : [ "sagemaker:ListPartnerApps", "sagemaker:DescribePartnerApp", "sagemaker:ListTags" ]
+    }
+  },
+  "tagging" : {
+    "taggable" : true,
+    "tagOnCreate" : true,
+    "tagUpdatable" : true,
+    "cloudFormationSystemTags" : false,
+    "tagProperty" : "/properties/Tags",
+    "permissions" : [ "sagemaker:AddTags", "sagemaker:DeleteTags", "sagemaker:ListTags" ]
+  }
+}
\ No newline at end of file
diff --git a/aws-cloudformation-schema/aws-stepfunctions-statemachineversion.json b/aws-cloudformation-schema/aws-stepfunctions-statemachineversion.json
index cdb0325a06..d59bd62d3e 100644
--- a/aws-cloudformation-schema/aws-stepfunctions-statemachineversion.json
+++ b/aws-cloudformation-schema/aws-stepfunctions-statemachineversion.json
@@ -31,7 +31,7 @@
   },
   "additionalProperties" : false,
   "readOnlyProperties" : [ "/properties/Arn" ],
-  "createOnlyProperties" : [ "/properties/StateMachineArn", "/properties/StateMachineRevisionId" ],
+  "createOnlyProperties" : [ "/properties/StateMachineArn", "/properties/StateMachineRevisionId", "/properties/Description" ],
   "writeOnlyProperties" : [ "/properties/StateMachineArn" ],
   "primaryIdentifier" : [ "/properties/Arn" ],
   "handlers" : {
diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json
index f17d62e86b..f67966683e 100644
--- a/provider/cmd/pulumi-resource-aws-native/metadata.json
+++ b/provider/cmd/pulumi-resource-aws-native/metadata.json
@@ -541,7 +541,6 @@
                 "sdkName": "name"
             },
             "required": [
-                "data",
                 "engineType"
             ],
             "createOnly": [
@@ -34243,7 +34242,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification"
                     },
-                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
+                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
                 },
                 "versionDescription": {
                     "type": "string",
@@ -34277,7 +34276,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification"
                     },
-                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
+                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
                 },
                 "versionDescription": {
                     "type": "string",
@@ -62606,7 +62605,7 @@
                 },
                 "metricsConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig",
-                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) ."
+                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                 },
                 "parallelizationFactor": {
                     "type": "integer",
@@ -62614,7 +62613,7 @@
                 },
                 "provisionedPollerConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig",
-                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) ."
+                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode)."
                 },
                 "queues": {
                     "type": "array",
@@ -62741,7 +62740,7 @@
                 },
                 "metricsConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig",
-                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) ."
+                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                 },
                 "parallelizationFactor": {
                     "type": "integer",
@@ -62749,7 +62748,7 @@
                 },
                 "provisionedPollerConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig",
-                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) ."
+                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode)."
                 },
                 "queues": {
                     "type": "array",
@@ -79555,6 +79554,9 @@
                     "$ref": "#/types/aws-native:qbusiness:ApplicationQAppsConfiguration",
                     "description": "Configuration information about Amazon Q Apps."
                 },
+                "quickSightConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:ApplicationQuickSightConfiguration"
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role."
@@ -79634,6 +79636,10 @@
                     "$ref": "#/types/aws-native:qbusiness:ApplicationQAppsConfiguration",
                     "description": "Configuration information about Amazon Q Apps."
                 },
+                "quickSightConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:ApplicationQuickSightConfiguration",
+                    "replaceOnChanges": true
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role."
@@ -79661,7 +79667,8 @@
                 "clientIdsForOidc",
                 "encryptionConfiguration",
                 "iamIdentityProviderArn",
-                "identityType"
+                "identityType",
+                "quickSightConfiguration"
             ],
             "writeOnly": [
                 "identityCenterInstanceArn"
@@ -79675,6 +79682,87 @@
                 "applicationId"
             ]
         },
+        "aws-native:qbusiness:DataAccessor": {
+            "cf": "AWS::QBusiness::DataAccessor",
+            "inputs": {
+                "actionConfigurations": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorActionConfiguration"
+                    }
+                },
+                "applicationId": {
+                    "type": "string"
+                },
+                "displayName": {
+                    "type": "string"
+                },
+                "principal": {
+                    "type": "string"
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    }
+                }
+            },
+            "outputs": {
+                "actionConfigurations": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorActionConfiguration"
+                    }
+                },
+                "applicationId": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "createdAt": {
+                    "type": "string"
+                },
+                "dataAccessorArn": {
+                    "type": "string"
+                },
+                "dataAccessorId": {
+                    "type": "string"
+                },
+                "displayName": {
+                    "type": "string"
+                },
+                "idcApplicationArn": {
+                    "type": "string"
+                },
+                "principal": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    }
+                },
+                "updatedAt": {
+                    "type": "string"
+                }
+            },
+            "required": [
+                "actionConfigurations",
+                "displayName",
+                "principal"
+            ],
+            "createOnly": [
+                "applicationId",
+                "principal"
+            ],
+            "tagsProperty": "tags",
+            "tagsStyle": "keyValueArray",
+            "primaryIdentifier": [
+                "applicationId",
+                "dataAccessorId"
+            ]
+        },
         "aws-native:qbusiness:DataSource": {
             "cf": "AWS::QBusiness::DataSource",
             "inputs": {
@@ -79702,6 +79790,9 @@
                     "type": "string",
                     "description": "The identifier of the index the data source is attached to."
                 },
+                "mediaExtractionConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceMediaExtractionConfiguration"
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources."
@@ -79761,6 +79852,9 @@
                     "description": "The identifier of the index the data source is attached to.",
                     "replaceOnChanges": true
                 },
+                "mediaExtractionConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceMediaExtractionConfiguration"
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources."
@@ -79925,6 +80019,63 @@
                 "indexId"
             ]
         },
+        "aws-native:qbusiness:Permission": {
+            "cf": "AWS::QBusiness::Permission",
+            "inputs": {
+                "actions": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "applicationId": {
+                    "type": "string"
+                },
+                "principal": {
+                    "type": "string"
+                },
+                "statementId": {
+                    "type": "string"
+                }
+            },
+            "outputs": {
+                "actions": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    },
+                    "replaceOnChanges": true
+                },
+                "applicationId": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "principal": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "statementId": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                }
+            },
+            "required": [
+                "actions",
+                "applicationId",
+                "principal",
+                "statementId"
+            ],
+            "createOnly": [
+                "actions",
+                "applicationId",
+                "principal",
+                "statementId"
+            ],
+            "primaryIdentifier": [
+                "applicationId",
+                "statementId"
+            ]
+        },
         "aws-native:qbusiness:Plugin": {
             "cf": "AWS::QBusiness::Plugin",
             "inputs": {
@@ -80044,7 +80195,6 @@
                 }
             },
             "required": [
-                "applicationId",
                 "authConfiguration",
                 "displayName",
                 "type"
@@ -80180,6 +80330,9 @@
                     "type": "string",
                     "description": "The identifier of the Amazon Q Business web experience."
                 },
+                "customizationConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:WebExperienceCustomizationConfiguration"
+                },
                 "identityProviderConfiguration": {
                     "oneOf": [
                         {
@@ -80236,6 +80389,9 @@
                     "type": "string",
                     "description": "The Unix timestamp when the Amazon Q Business application was last updated."
                 },
+                "customizationConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:WebExperienceCustomizationConfiguration"
+                },
                 "defaultEndpoint": {
                     "type": "string",
                     "description": "The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS ."
@@ -93917,6 +94073,136 @@
                 "monitoringScheduleArn"
             ]
         },
+        "aws-native:sagemaker:PartnerApp": {
+            "cf": "AWS::SageMaker::PartnerApp",
+            "inputs": {
+                "applicationConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "authType": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppAuthType",
+                    "description": "The Auth type of PartnerApp."
+                },
+                "clientToken": {
+                    "type": "string",
+                    "description": "The client token for the PartnerApp."
+                },
+                "enableIamSessionBasedIdentity": {
+                    "type": "boolean",
+                    "description": "Enables IAM Session based Identity for PartnerApp."
+                },
+                "executionRoleArn": {
+                    "type": "string",
+                    "description": "The execution role for the user."
+                },
+                "maintenanceConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppMaintenanceConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "name": {
+                    "type": "string",
+                    "description": "A name for the PartnerApp."
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    },
+                    "description": "A list of tags to apply to the PartnerApp."
+                },
+                "tier": {
+                    "type": "string",
+                    "description": "The tier of the PartnerApp."
+                },
+                "type": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppType",
+                    "description": "The type of PartnerApp."
+                }
+            },
+            "outputs": {
+                "applicationConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "arn": {
+                    "type": "string",
+                    "description": "The Amazon Resource Name (ARN) of the created PartnerApp."
+                },
+                "authType": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppAuthType",
+                    "description": "The Auth type of PartnerApp.",
+                    "replaceOnChanges": true
+                },
+                "baseUrl": {
+                    "type": "string",
+                    "description": "The AppServerUrl based on app and account-info."
+                },
+                "clientToken": {
+                    "type": "string",
+                    "description": "The client token for the PartnerApp."
+                },
+                "enableIamSessionBasedIdentity": {
+                    "type": "boolean",
+                    "description": "Enables IAM Session based Identity for PartnerApp."
+                },
+                "executionRoleArn": {
+                    "type": "string",
+                    "description": "The execution role for the user.",
+                    "replaceOnChanges": true
+                },
+                "maintenanceConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppMaintenanceConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "name": {
+                    "type": "string",
+                    "description": "A name for the PartnerApp.",
+                    "replaceOnChanges": true
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    },
+                    "description": "A list of tags to apply to the PartnerApp."
+                },
+                "tier": {
+                    "type": "string",
+                    "description": "The tier of the PartnerApp."
+                },
+                "type": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppType",
+                    "description": "The type of PartnerApp.",
+                    "replaceOnChanges": true
+                }
+            },
+            "autoNamingSpec": {
+                "sdkName": "name",
+                "minLength": 1,
+                "maxLength": 256
+            },
+            "required": [
+                "authType",
+                "executionRoleArn",
+                "tier",
+                "type"
+            ],
+            "createOnly": [
+                "authType",
+                "executionRoleArn",
+                "name",
+                "type"
+            ],
+            "writeOnly": [
+                "clientToken"
+            ],
+            "tagsProperty": "tags",
+            "tagsStyle": "keyValueArray",
+            "primaryIdentifier": [
+                "arn"
+            ]
+        },
         "aws-native:sagemaker:Pipeline": {
             "cf": "AWS::SageMaker::Pipeline",
             "inputs": {
@@ -100349,7 +100635,8 @@
                 },
                 "description": {
                     "type": "string",
-                    "description": "An optional description of the state machine version."
+                    "description": "An optional description of the state machine version.",
+                    "replaceOnChanges": true
                 },
                 "stateMachineArn": {
                     "type": "string",
@@ -100366,6 +100653,7 @@
                 "stateMachineArn"
             ],
             "createOnly": [
+                "description",
                 "stateMachineArn",
                 "stateMachineRevisionId"
             ],
@@ -104532,7 +104820,8 @@
             "cf": "AWS::Wisdom::AIGuardrail",
             "inputs": {
                 "assistantId": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN."
                 },
                 "blockedInputMessaging": {
                     "type": "string",
@@ -104543,46 +104832,57 @@
                     "description": "Messaging for when violations are detected in text"
                 },
                 "contentPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig",
+                    "description": "Contains details about how to handle harmful content."
                 },
                 "contextualGroundingPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig",
+                    "description": "The policy configuration details for the AI Guardrail's contextual grounding policy."
                 },
                 "description": {
                     "type": "string",
                     "description": "Description of the guardrail or its version"
                 },
                 "name": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The name of the AI Guardrail."
                 },
                 "sensitiveInformationPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig",
+                    "description": "Contains details about PII entities and regular expressions to configure for the AI Guardrail."
                 },
                 "tags": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
-                    }
+                    },
+                    "description": "The tags used to organize, track, or control access for this resource."
                 },
                 "topicPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig",
+                    "description": "Contains details about topics that the AI Guardrail should identify and deny."
                 },
                 "wordPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig",
+                    "description": "Contains details about the word policy to configured for the AI Guardrail."
                 }
             },
             "outputs": {
                 "aiGuardrailArn": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The Amazon Resource Name (ARN) of the AI Guardrail."
                 },
                 "aiGuardrailId": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The identifier of the Amazon Q in Connect AI Guardrail."
                 },
                 "assistantArn": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant."
                 },
                 "assistantId": {
                     "type": "string",
+                    "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.",
                     "replaceOnChanges": true
                 },
                 "blockedInputMessaging": {
@@ -104594,10 +104894,12 @@
                     "description": "Messaging for when violations are detected in text"
                 },
                 "contentPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig",
+                    "description": "Contains details about how to handle harmful content."
                 },
                 "contextualGroundingPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig",
+                    "description": "The policy configuration details for the AI Guardrail's contextual grounding policy."
                 },
                 "description": {
                     "type": "string",
@@ -104605,23 +104907,28 @@
                 },
                 "name": {
                     "type": "string",
+                    "description": "The name of the AI Guardrail.",
                     "replaceOnChanges": true
                 },
                 "sensitiveInformationPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig",
+                    "description": "Contains details about PII entities and regular expressions to configure for the AI Guardrail."
                 },
                 "tags": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     },
+                    "description": "The tags used to organize, track, or control access for this resource.",
                     "replaceOnChanges": true
                 },
                 "topicPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig",
+                    "description": "Contains details about topics that the AI Guardrail should identify and deny."
                 },
                 "wordPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig",
+                    "description": "Contains details about the word policy to configured for the AI Guardrail."
                 }
             },
             "autoNamingSpec": {
@@ -104686,7 +104993,8 @@
                     "replaceOnChanges": true
                 },
                 "versionNumber": {
-                    "type": "number"
+                    "type": "number",
+                    "description": "The version number for this AI Guardrail version."
                 }
             },
             "required": [
@@ -135562,7 +135870,7 @@
             "properties": {
                 "capacityReservationPreference": {
                     "type": "string",
-                    "description": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n  +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).\n  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity."
+                    "description": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n  +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n  +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity."
                 },
                 "capacityReservationTarget": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateCapacityReservationTarget",
@@ -135686,7 +135994,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:LaunchTemplateElasticInferenceAccelerator"
                     },
-                    "description": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service."
+                    "description": "Amazon Elastic Inference is no longer available.\n  An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service."
                 },
                 "enclaveOptions": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateEnclaveOptions",
@@ -135714,7 +136022,7 @@
                 },
                 "instanceRequirements": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateInstanceRequirements",
-                    "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*."
+                    "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*."
                 },
                 "instanceType": {
                     "type": "string",
@@ -135754,6 +136062,9 @@
                     },
                     "description": "The network interfaces for the instance."
                 },
+                "networkPerformanceOptions": {
+                    "$ref": "pulumi.json#/Any"
+                },
                 "placement": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplatePlacement",
                     "description": "The placement for the instance."
@@ -135785,7 +136096,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:TagSpecification"
                     },
-                    "description": "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)."
+                    "description": "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)."
                 },
                 "userData": {
                     "type": "string",
@@ -135810,7 +136121,7 @@
                 },
                 "kmsKeyId": {
                     "type": "string",
-                    "description": "The ARN of the symmetric KMSlong (KMS) CMK used for encryption."
+                    "description": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption."
                 },
                 "snapshotId": {
                     "type": "string",
@@ -135948,7 +136259,7 @@
                     "items": {
                         "type": "string"
                     },
-                    "description": "The accelerator types that must be on the instance type.\n  +  For instance types with GPU accelerators, specify ``gpu``.\n  +  For instance types with FPGA accelerators, specify ``fpga``.\n  +  For instance types with inference accelerators, specify ``inference``.\n  \n Default: Any accelerator type"
+                    "description": "The accelerator types that must be on the instance type.\n  +  For instance types with GPU accelerators, specify ``gpu``.\n  +  For instance types with FPGA accelerators, specify ``fpga``.\n  \n Default: Any accelerator type"
                 },
                 "allowedInstanceTypes": {
                     "type": "array",
@@ -135967,7 +136278,7 @@
                 },
                 "baselinePerformanceFactors": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateBaselinePerformanceFactors",
-                    "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* ."
+                    "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*."
                 },
                 "burstablePerformance": {
                     "type": "string",
@@ -135978,7 +136289,7 @@
                     "items": {
                         "type": "string"
                     },
-                    "description": "The CPU manufacturers to include.\n  +  For instance types with Intel CPUs, specify ``intel``.\n  +  For instance types with AMD CPUs, specify ``amd``.\n  +  For instance types with AWS CPUs, specify ``amazon-web-services``.\n  \n  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n  Default: Any manufacturer"
+                    "description": "The CPU manufacturers to include.\n  +  For instance types with Intel CPUs, specify ``intel``.\n  +  For instance types with AMD CPUs, specify ``amd``.\n  +  For instance types with AWS CPUs, specify ``amazon-web-services``.\n  +  For instance types with Apple CPUs, specify ``apple``.\n  \n  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n  Default: Any manufacturer"
                 },
                 "excludedInstanceTypes": {
                     "type": "array",
@@ -136208,7 +136519,7 @@
                 },
                 "interfaceType": {
                     "type": "string",
-                    "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``"
+                    "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``"
                 },
                 "ipv4PrefixCount": {
                     "type": "integer",
@@ -136367,8 +136678,7 @@
             "type": "object",
             "properties": {
                 "instanceFamily": {
-                    "type": "string",
-                    "description": "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not."
+                    "type": "string"
                 }
             }
         },
@@ -161162,7 +161472,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfigMetricsItem"
                     },
-                    "description": "Metric groups to enable."
+                    "description": "The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                 }
             }
         },
@@ -161174,7 +161484,7 @@
             "properties": {
                 "destination": {
                     "type": "string",
-                    "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination."
+                    "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination."
                 }
             }
         },
@@ -173843,6 +174153,14 @@
         "aws-native:qbusiness:ApplicationQAppsControlMode": {
             "type": "string"
         },
+        "aws-native:qbusiness:ApplicationQuickSightConfiguration": {
+            "type": "object",
+            "properties": {
+                "clientNamespace": {
+                    "type": "string"
+                }
+            }
+        },
         "aws-native:qbusiness:ApplicationStatus": {
             "type": "string"
         },
@@ -173862,6 +174180,136 @@
                 }
             }
         },
+        "aws-native:qbusiness:DataAccessorActionConfiguration": {
+            "type": "object",
+            "properties": {
+                "action": {
+                    "type": "string"
+                },
+                "filterConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorActionFilterConfiguration"
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorActionFilterConfiguration": {
+            "type": "object",
+            "properties": {
+                "documentAttributeFilter": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorAttributeFilter": {
+            "type": "object",
+            "properties": {
+                "andAllFilters": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                    }
+                },
+                "containsAll": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "containsAny": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "equalsTo": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "greaterThan": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "greaterThanOrEquals": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "lessThan": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "lessThanOrEquals": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "notFilter": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                },
+                "orAllFilters": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                    }
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttribute": {
+            "type": "object",
+            "properties": {
+                "name": {
+                    "type": "string"
+                },
+                "value": {
+                    "oneOf": [
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue0Properties"
+                        },
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue1Properties"
+                        },
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue2Properties"
+                        },
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue3Properties"
+                        }
+                    ]
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue0Properties": {
+            "type": "object",
+            "properties": {
+                "stringValue": {
+                    "type": "string"
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue1Properties": {
+            "type": "object",
+            "properties": {
+                "stringListValue": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue2Properties": {
+            "type": "object",
+            "properties": {
+                "longValue": {
+                    "type": "number"
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue3Properties": {
+            "type": "object",
+            "properties": {
+                "dateValue": {
+                    "type": "string"
+                }
+            }
+        },
+        "aws-native:qbusiness:DataAccessorTag": {
+            "type": "object",
+            "properties": {
+                "key": {
+                    "type": "string"
+                },
+                "value": {
+                    "type": "string"
+                }
+            }
+        },
         "aws-native:qbusiness:DataSourceAttributeValueOperator": {
             "type": "string"
         },
@@ -174010,6 +174458,17 @@
                 "s3BucketName": "S3BucketName"
             }
         },
+        "aws-native:qbusiness:DataSourceImageExtractionConfiguration": {
+            "type": "object",
+            "properties": {
+                "imageExtractionStatus": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceImageExtractionStatus"
+                }
+            }
+        },
+        "aws-native:qbusiness:DataSourceImageExtractionStatus": {
+            "type": "string"
+        },
         "aws-native:qbusiness:DataSourceInlineDocumentEnrichmentConfiguration": {
             "type": "object",
             "properties": {
@@ -174027,6 +174486,14 @@
                 }
             }
         },
+        "aws-native:qbusiness:DataSourceMediaExtractionConfiguration": {
+            "type": "object",
+            "properties": {
+                "imageExtractionConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceImageExtractionConfiguration"
+                }
+            }
+        },
         "aws-native:qbusiness:DataSourceStatus": {
             "type": "string"
         },
@@ -174222,11 +174689,17 @@
         "aws-native:qbusiness:PluginOAuth2ClientCredentialConfiguration": {
             "type": "object",
             "properties": {
+                "authorizationUrl": {
+                    "type": "string"
+                },
                 "roleArn": {
                     "type": "string"
                 },
                 "secretArn": {
                     "type": "string"
+                },
+                "tokenUrl": {
+                    "type": "string"
                 }
             }
         },
@@ -174314,6 +174787,26 @@
         "aws-native:qbusiness:RetrieverType": {
             "type": "string"
         },
+        "aws-native:qbusiness:WebExperienceCustomizationConfiguration": {
+            "type": "object",
+            "properties": {
+                "customCssUrl": {
+                    "type": "string"
+                },
+                "faviconUrl": {
+                    "type": "string"
+                },
+                "fontUrl": {
+                    "type": "string"
+                },
+                "logoUrl": {
+                    "type": "string"
+                }
+            },
+            "irreversibleNames": {
+                "customCssUrl": "CustomCSSUrl"
+            }
+        },
         "aws-native:qbusiness:WebExperienceIdentityProviderConfiguration0Properties": {
             "type": "object",
             "properties": {
@@ -218698,6 +219191,51 @@
                 }
             }
         },
+        "aws-native:sagemaker:PartnerAppAuthType": {
+            "type": "string"
+        },
+        "aws-native:sagemaker:PartnerAppConfig": {
+            "type": "object",
+            "properties": {
+                "adminUsers": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    },
+                    "description": "A list of users with administrator privileges for the PartnerApp."
+                },
+                "arguments": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    },
+                    "description": "A list of arguments to pass to the PartnerApp."
+                }
+            }
+        },
+        "aws-native:sagemaker:PartnerAppMaintenanceConfig": {
+            "type": "object",
+            "properties": {
+                "maintenanceWindowStart": {
+                    "type": "string",
+                    "description": "The maintenance window start day and time for the PartnerApp."
+                }
+            }
+        },
+        "aws-native:sagemaker:PartnerAppTag": {
+            "type": "object",
+            "properties": {
+                "key": {
+                    "type": "string"
+                },
+                "value": {
+                    "type": "string"
+                }
+            }
+        },
+        "aws-native:sagemaker:PartnerAppType": {
+            "type": "string"
+        },
         "aws-native:sagemaker:PipelineDefinition0Properties": {
             "type": "object",
             "properties": {
@@ -235597,6 +236135,13 @@
                 "applicationId"
             ]
         },
+        "aws-native:qbusiness:getDataAccessor": {
+            "cf": "AWS::QBusiness::DataAccessor",
+            "ids": [
+                "applicationId",
+                "dataAccessorId"
+            ]
+        },
         "aws-native:qbusiness:getDataSource": {
             "cf": "AWS::QBusiness::DataSource",
             "ids": [
@@ -236386,6 +236931,12 @@
                 "monitoringScheduleArn"
             ]
         },
+        "aws-native:sagemaker:getPartnerApp": {
+            "cf": "AWS::SageMaker::PartnerApp",
+            "ids": [
+                "arn"
+            ]
+        },
         "aws-native:sagemaker:getPipeline": {
             "cf": "AWS::SageMaker::Pipeline",
             "ids": [
diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json
index 546068c35c..a676275f55 100644
--- a/provider/cmd/pulumi-resource-aws-native/schema.json
+++ b/provider/cmd/pulumi-resource-aws-native/schema.json
@@ -45572,6 +45572,7 @@
             "type": "object"
         },
         "aws-native:ec2:LaunchTemplateBaselinePerformanceFactors": {
+            "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.\n Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.",
             "properties": {
                 "cpu": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateCpu",
@@ -45607,7 +45608,7 @@
             "properties": {
                 "capacityReservationPreference": {
                     "type": "string",
-                    "description": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n  +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).\n  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity."
+                    "description": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n  +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n  +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity."
                 },
                 "capacityReservationTarget": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateCapacityReservationTarget",
@@ -45747,7 +45748,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:LaunchTemplateElasticInferenceAccelerator"
                     },
-                    "description": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service."
+                    "description": "Amazon Elastic Inference is no longer available.\n  An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service."
                 },
                 "enclaveOptions": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateEnclaveOptions",
@@ -45775,7 +45776,7 @@
                 },
                 "instanceRequirements": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateInstanceRequirements",
-                    "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*."
+                    "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*."
                 },
                 "instanceType": {
                     "type": "string",
@@ -45815,6 +45816,9 @@
                     },
                     "description": "The network interfaces for the instance."
                 },
+                "networkPerformanceOptions": {
+                    "$ref": "pulumi.json#/Any"
+                },
                 "placement": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplatePlacement",
                     "description": "The placement for the instance."
@@ -45846,7 +45850,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:TagSpecification"
                     },
-                    "description": "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)."
+                    "description": "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications)."
                 },
                 "userData": {
                     "type": "string",
@@ -45872,7 +45876,7 @@
                 },
                 "kmsKeyId": {
                     "type": "string",
-                    "description": "The ARN of the symmetric KMSlong (KMS) CMK used for encryption."
+                    "description": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption."
                 },
                 "snapshotId": {
                     "type": "string",
@@ -45990,7 +45994,7 @@
             "type": "object"
         },
         "aws-native:ec2:LaunchTemplateInstanceRequirements": {
-            "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.",
+            "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n  +   ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n  +   ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n  \n  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n  For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.",
             "properties": {
                 "acceleratorCount": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateAcceleratorCount",
@@ -46019,7 +46023,7 @@
                     "items": {
                         "type": "string"
                     },
-                    "description": "The accelerator types that must be on the instance type.\n  +  For instance types with GPU accelerators, specify ``gpu``.\n  +  For instance types with FPGA accelerators, specify ``fpga``.\n  +  For instance types with inference accelerators, specify ``inference``.\n  \n Default: Any accelerator type"
+                    "description": "The accelerator types that must be on the instance type.\n  +  For instance types with GPU accelerators, specify ``gpu``.\n  +  For instance types with FPGA accelerators, specify ``fpga``.\n  \n Default: Any accelerator type"
                 },
                 "allowedInstanceTypes": {
                     "type": "array",
@@ -46038,7 +46042,7 @@
                 },
                 "baselinePerformanceFactors": {
                     "$ref": "#/types/aws-native:ec2:LaunchTemplateBaselinePerformanceFactors",
-                    "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* ."
+                    "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*."
                 },
                 "burstablePerformance": {
                     "type": "string",
@@ -46049,7 +46053,7 @@
                     "items": {
                         "type": "string"
                     },
-                    "description": "The CPU manufacturers to include.\n  +  For instance types with Intel CPUs, specify ``intel``.\n  +  For instance types with AMD CPUs, specify ``amd``.\n  +  For instance types with AWS CPUs, specify ``amazon-web-services``.\n  \n  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n  Default: Any manufacturer"
+                    "description": "The CPU manufacturers to include.\n  +  For instance types with Intel CPUs, specify ``intel``.\n  +  For instance types with AMD CPUs, specify ``amd``.\n  +  For instance types with AWS CPUs, specify ``amazon-web-services``.\n  +  For instance types with Apple CPUs, specify ``apple``.\n  \n  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n  Default: Any manufacturer"
                 },
                 "excludedInstanceTypes": {
                     "type": "array",
@@ -46287,7 +46291,7 @@
                 },
                 "interfaceType": {
                     "type": "string",
-                    "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``"
+                    "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``"
                 },
                 "ipv4PrefixCount": {
                     "type": "integer",
@@ -46447,8 +46451,7 @@
         "aws-native:ec2:LaunchTemplateReference": {
             "properties": {
                 "instanceFamily": {
-                    "type": "string",
-                    "description": "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not."
+                    "type": "string"
                 }
             },
             "type": "object"
@@ -46498,7 +46501,7 @@
             ]
         },
         "aws-native:ec2:LaunchTemplateTagSpecification": {
-            "description": "Specifies the tags to apply to the launch template during creation.\n  ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).",
+            "description": "Specifies the tags to apply to the launch template during creation.\n To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).\n  ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).",
             "properties": {
                 "resourceType": {
                     "type": "string",
@@ -49286,7 +49289,7 @@
             ]
         },
         "aws-native:ec2:TagSpecification": {
-            "description": "Specifies the tags to apply to a resource when the resource is created for the launch template.\n  ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).",
+            "description": "Specifies the tags to apply to resources that are created during instance launch.\n  ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).",
             "properties": {
                 "resourceType": {
                     "type": "string",
@@ -77094,6 +77097,10 @@
                 {
                     "name": "EnterpriseEdition",
                     "value": "ENTERPRISE_EDITION"
+                },
+                {
+                    "name": "GenAiEnterpriseEdition",
+                    "value": "GEN_AI_ENTERPRISE_EDITION"
                 }
             ]
         },
@@ -80988,13 +80995,14 @@
             ]
         },
         "aws-native:lambda:EventSourceMappingMetricsConfig": {
+            "description": "The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.",
             "properties": {
                 "metrics": {
                     "type": "array",
                     "items": {
                         "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfigMetricsItem"
                     },
-                    "description": "Metric groups to enable."
+                    "description": "The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                 }
             },
             "type": "object"
@@ -81013,12 +81021,13 @@
             "properties": {
                 "destination": {
                     "type": "string",
-                    "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination."
+                    "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination."
                 }
             },
             "type": "object"
         },
         "aws-native:lambda:EventSourceMappingProvisionedPollerConfig": {
+            "description": "The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.",
             "properties": {
                 "maximumPollers": {
                     "type": "integer",
@@ -100128,6 +100137,10 @@
                 {
                     "name": "AwsIamIdc",
                     "value": "AWS_IAM_IDC"
+                },
+                {
+                    "name": "AwsQuicksightIdp",
+                    "value": "AWS_QUICKSIGHT_IDP"
                 }
             ]
         },
@@ -100181,6 +100194,17 @@
                 }
             ]
         },
+        "aws-native:qbusiness:ApplicationQuickSightConfiguration": {
+            "properties": {
+                "clientNamespace": {
+                    "type": "string"
+                }
+            },
+            "type": "object",
+            "required": [
+                "clientNamespace"
+            ]
+        },
         "aws-native:qbusiness:ApplicationStatus": {
             "type": "string",
             "enum": [
@@ -100236,6 +100260,162 @@
                 "value"
             ]
         },
+        "aws-native:qbusiness:DataAccessorActionConfiguration": {
+            "properties": {
+                "action": {
+                    "type": "string"
+                },
+                "filterConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorActionFilterConfiguration"
+                }
+            },
+            "type": "object",
+            "required": [
+                "action"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorActionFilterConfiguration": {
+            "properties": {
+                "documentAttributeFilter": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                }
+            },
+            "type": "object",
+            "required": [
+                "documentAttributeFilter"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorAttributeFilter": {
+            "properties": {
+                "andAllFilters": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                    }
+                },
+                "containsAll": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "containsAny": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "equalsTo": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "greaterThan": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "greaterThanOrEquals": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "lessThan": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "lessThanOrEquals": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttribute"
+                },
+                "notFilter": {
+                    "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                },
+                "orAllFilters": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorAttributeFilter"
+                    }
+                }
+            },
+            "type": "object"
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttribute": {
+            "properties": {
+                "name": {
+                    "type": "string"
+                },
+                "value": {
+                    "oneOf": [
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue0Properties"
+                        },
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue1Properties"
+                        },
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue2Properties"
+                        },
+                        {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorDocumentAttributeValue3Properties"
+                        }
+                    ]
+                }
+            },
+            "type": "object",
+            "required": [
+                "name",
+                "value"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue0Properties": {
+            "properties": {
+                "stringValue": {
+                    "type": "string"
+                }
+            },
+            "type": "object",
+            "required": [
+                "stringValue"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue1Properties": {
+            "properties": {
+                "stringListValue": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                }
+            },
+            "type": "object",
+            "required": [
+                "stringListValue"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue2Properties": {
+            "properties": {
+                "longValue": {
+                    "type": "number"
+                }
+            },
+            "type": "object",
+            "required": [
+                "longValue"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorDocumentAttributeValue3Properties": {
+            "properties": {
+                "dateValue": {
+                    "type": "string"
+                }
+            },
+            "type": "object",
+            "required": [
+                "dateValue"
+            ]
+        },
+        "aws-native:qbusiness:DataAccessorTag": {
+            "properties": {
+                "key": {
+                    "type": "string"
+                },
+                "value": {
+                    "type": "string"
+                }
+            },
+            "type": "object",
+            "required": [
+                "key",
+                "value"
+            ]
+        },
         "aws-native:qbusiness:DataSourceAttributeValueOperator": {
             "type": "string",
             "enum": [
@@ -100458,6 +100638,30 @@
             },
             "type": "object"
         },
+        "aws-native:qbusiness:DataSourceImageExtractionConfiguration": {
+            "properties": {
+                "imageExtractionStatus": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceImageExtractionStatus"
+                }
+            },
+            "type": "object",
+            "required": [
+                "imageExtractionStatus"
+            ]
+        },
+        "aws-native:qbusiness:DataSourceImageExtractionStatus": {
+            "type": "string",
+            "enum": [
+                {
+                    "name": "Enabled",
+                    "value": "ENABLED"
+                },
+                {
+                    "name": "Disabled",
+                    "value": "DISABLED"
+                }
+            ]
+        },
         "aws-native:qbusiness:DataSourceInlineDocumentEnrichmentConfiguration": {
             "properties": {
                 "condition": {
@@ -100475,6 +100679,14 @@
             },
             "type": "object"
         },
+        "aws-native:qbusiness:DataSourceMediaExtractionConfiguration": {
+            "properties": {
+                "imageExtractionConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceImageExtractionConfiguration"
+                }
+            },
+            "type": "object"
+        },
         "aws-native:qbusiness:DataSourceStatus": {
             "type": "string",
             "enum": [
@@ -100814,11 +101026,17 @@
         },
         "aws-native:qbusiness:PluginOAuth2ClientCredentialConfiguration": {
             "properties": {
+                "authorizationUrl": {
+                    "type": "string"
+                },
                 "roleArn": {
                     "type": "string"
                 },
                 "secretArn": {
                     "type": "string"
+                },
+                "tokenUrl": {
+                    "type": "string"
                 }
             },
             "type": "object",
@@ -100894,6 +101112,54 @@
                 {
                     "name": "Custom",
                     "value": "CUSTOM"
+                },
+                {
+                    "name": "Quicksight",
+                    "value": "QUICKSIGHT"
+                },
+                {
+                    "name": "ServicenowNowPlatform",
+                    "value": "SERVICENOW_NOW_PLATFORM"
+                },
+                {
+                    "name": "JiraCloud",
+                    "value": "JIRA_CLOUD"
+                },
+                {
+                    "name": "SalesforceCrm",
+                    "value": "SALESFORCE_CRM"
+                },
+                {
+                    "name": "ZendeskSuite",
+                    "value": "ZENDESK_SUITE"
+                },
+                {
+                    "name": "AtlassianConfluence",
+                    "value": "ATLASSIAN_CONFLUENCE"
+                },
+                {
+                    "name": "GoogleCalendar",
+                    "value": "GOOGLE_CALENDAR"
+                },
+                {
+                    "name": "MicrosoftTeams",
+                    "value": "MICROSOFT_TEAMS"
+                },
+                {
+                    "name": "MicrosoftExchange",
+                    "value": "MICROSOFT_EXCHANGE"
+                },
+                {
+                    "name": "PagerdutyAdvance",
+                    "value": "PAGERDUTY_ADVANCE"
+                },
+                {
+                    "name": "Smartsheet",
+                    "value": "SMARTSHEET"
+                },
+                {
+                    "name": "Asana",
+                    "value": "ASANA"
                 }
             ]
         },
@@ -101001,6 +101267,23 @@
                 }
             ]
         },
+        "aws-native:qbusiness:WebExperienceCustomizationConfiguration": {
+            "properties": {
+                "customCssUrl": {
+                    "type": "string"
+                },
+                "faviconUrl": {
+                    "type": "string"
+                },
+                "fontUrl": {
+                    "type": "string"
+                },
+                "logoUrl": {
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
         "aws-native:qbusiness:WebExperienceIdentityProviderConfiguration0Properties": {
             "properties": {
                 "samlConfiguration": {
@@ -159483,6 +159766,86 @@
                 "maxParallelExecutionSteps"
             ]
         },
+        "aws-native:sagemaker:PartnerAppAuthType": {
+            "description": "The Auth type of PartnerApp.",
+            "type": "string",
+            "enum": [
+                {
+                    "name": "Iam",
+                    "value": "IAM"
+                }
+            ]
+        },
+        "aws-native:sagemaker:PartnerAppConfig": {
+            "description": "A collection of configuration settings for the PartnerApp.",
+            "properties": {
+                "adminUsers": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    },
+                    "description": "A list of users with administrator privileges for the PartnerApp."
+                },
+                "arguments": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    },
+                    "description": "A list of arguments to pass to the PartnerApp."
+                }
+            },
+            "type": "object"
+        },
+        "aws-native:sagemaker:PartnerAppMaintenanceConfig": {
+            "description": "A collection of settings that specify the maintenance schedule for the PartnerApp.",
+            "properties": {
+                "maintenanceWindowStart": {
+                    "type": "string",
+                    "description": "The maintenance window start day and time for the PartnerApp."
+                }
+            },
+            "type": "object",
+            "required": [
+                "maintenanceWindowStart"
+            ]
+        },
+        "aws-native:sagemaker:PartnerAppTag": {
+            "properties": {
+                "key": {
+                    "type": "string"
+                },
+                "value": {
+                    "type": "string"
+                }
+            },
+            "type": "object",
+            "required": [
+                "key",
+                "value"
+            ]
+        },
+        "aws-native:sagemaker:PartnerAppType": {
+            "description": "The type of PartnerApp.",
+            "type": "string",
+            "enum": [
+                {
+                    "name": "LakeraGuard",
+                    "value": "lakera-guard"
+                },
+                {
+                    "name": "Comet",
+                    "value": "comet"
+                },
+                {
+                    "name": "DeepchecksLlmEvaluation",
+                    "value": "deepchecks-llm-evaluation"
+                },
+                {
+                    "name": "Fiddler",
+                    "value": "fiddler"
+                }
+            ]
+        },
         "aws-native:sagemaker:PipelineDefinition0Properties": {
             "description": "The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.",
             "properties": {
@@ -178585,7 +178948,6 @@
             "required": [
                 "arn",
                 "awsId",
-                "data",
                 "engineType",
                 "name",
                 "revision"
@@ -178624,7 +178986,6 @@
                 }
             },
             "requiredInputs": [
-                "data",
                 "engineType"
             ]
         },
@@ -210026,7 +210387,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification"
                     },
-                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
+                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
                 },
                 "versionDescription": {
                     "type": "string",
@@ -210054,7 +210415,7 @@
                     "items": {
                         "$ref": "#/types/aws-native:ec2:LaunchTemplateTagSpecification"
                     },
-                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
+                    "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications)."
                 },
                 "versionDescription": {
                     "type": "string",
@@ -236075,7 +236436,7 @@
                 },
                 "metricsConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig",
-                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) ."
+                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                 },
                 "parallelizationFactor": {
                     "type": "integer",
@@ -236083,7 +236444,7 @@
                 },
                 "provisionedPollerConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig",
-                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) ."
+                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode)."
                 },
                 "queues": {
                     "type": "array",
@@ -236210,7 +236571,7 @@
                 },
                 "metricsConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig",
-                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) ."
+                    "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                 },
                 "parallelizationFactor": {
                     "type": "integer",
@@ -236218,7 +236579,7 @@
                 },
                 "provisionedPollerConfig": {
                     "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig",
-                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) ."
+                    "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode)."
                 },
                 "queues": {
                     "type": "array",
@@ -251875,6 +252236,10 @@
                     "$ref": "#/types/aws-native:qbusiness:ApplicationQAppsConfiguration",
                     "description": "Configuration information about Amazon Q Apps."
                 },
+                "quickSightConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:ApplicationQuickSightConfiguration",
+                    "replaceOnChanges": true
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role."
@@ -251952,6 +252317,9 @@
                     "$ref": "#/types/aws-native:qbusiness:ApplicationQAppsConfiguration",
                     "description": "Configuration information about Amazon Q Apps."
                 },
+                "quickSightConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:ApplicationQuickSightConfiguration"
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role."
@@ -251968,6 +252336,88 @@
                 "displayName"
             ]
         },
+        "aws-native:qbusiness:DataAccessor": {
+            "description": "Definition of AWS::QBusiness::DataAccessor Resource Type",
+            "properties": {
+                "actionConfigurations": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorActionConfiguration"
+                    }
+                },
+                "applicationId": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "createdAt": {
+                    "type": "string"
+                },
+                "dataAccessorArn": {
+                    "type": "string"
+                },
+                "dataAccessorId": {
+                    "type": "string"
+                },
+                "displayName": {
+                    "type": "string"
+                },
+                "idcApplicationArn": {
+                    "type": "string"
+                },
+                "principal": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    }
+                },
+                "updatedAt": {
+                    "type": "string"
+                }
+            },
+            "type": "object",
+            "required": [
+                "actionConfigurations",
+                "createdAt",
+                "dataAccessorArn",
+                "dataAccessorId",
+                "displayName",
+                "idcApplicationArn",
+                "principal",
+                "updatedAt"
+            ],
+            "inputProperties": {
+                "actionConfigurations": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:qbusiness:DataAccessorActionConfiguration"
+                    }
+                },
+                "applicationId": {
+                    "type": "string"
+                },
+                "displayName": {
+                    "type": "string"
+                },
+                "principal": {
+                    "type": "string"
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    }
+                }
+            },
+            "requiredInputs": [
+                "actionConfigurations",
+                "displayName",
+                "principal"
+            ]
+        },
         "aws-native:qbusiness:DataSource": {
             "description": "Definition of AWS::QBusiness::DataSource Resource Type",
             "properties": {
@@ -252009,6 +252459,9 @@
                     "description": "The identifier of the index the data source is attached to.",
                     "replaceOnChanges": true
                 },
+                "mediaExtractionConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceMediaExtractionConfiguration"
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources."
@@ -252079,6 +252532,9 @@
                     "type": "string",
                     "description": "The identifier of the index the data source is attached to."
                 },
+                "mediaExtractionConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:DataSourceMediaExtractionConfiguration"
+                },
                 "roleArn": {
                     "type": "string",
                     "description": "The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources."
@@ -252221,6 +252677,60 @@
                 "displayName"
             ]
         },
+        "aws-native:qbusiness:Permission": {
+            "description": "Definition of AWS::QBusiness::Permission Resource Type",
+            "properties": {
+                "actions": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    },
+                    "replaceOnChanges": true
+                },
+                "applicationId": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "principal": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                },
+                "statementId": {
+                    "type": "string",
+                    "replaceOnChanges": true
+                }
+            },
+            "type": "object",
+            "required": [
+                "actions",
+                "applicationId",
+                "principal",
+                "statementId"
+            ],
+            "inputProperties": {
+                "actions": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
+                },
+                "applicationId": {
+                    "type": "string"
+                },
+                "principal": {
+                    "type": "string"
+                },
+                "statementId": {
+                    "type": "string"
+                }
+            },
+            "requiredInputs": [
+                "actions",
+                "applicationId",
+                "principal",
+                "statementId"
+            ]
+        },
         "aws-native:qbusiness:Plugin": {
             "description": "Definition of AWS::QBusiness::Plugin Resource Type",
             "properties": {
@@ -252294,7 +252804,6 @@
             },
             "type": "object",
             "required": [
-                "applicationId",
                 "authConfiguration",
                 "buildStatus",
                 "createdAt",
@@ -252352,7 +252861,6 @@
                 }
             },
             "requiredInputs": [
-                "applicationId",
                 "authConfiguration",
                 "displayName",
                 "type"
@@ -252485,6 +252993,9 @@
                     "type": "string",
                     "description": "The Unix timestamp when the Amazon Q Business application was last updated."
                 },
+                "customizationConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:WebExperienceCustomizationConfiguration"
+                },
                 "defaultEndpoint": {
                     "type": "string",
                     "description": "The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS ."
@@ -252566,6 +253077,9 @@
                     "type": "string",
                     "description": "The identifier of the Amazon Q Business web experience."
                 },
+                "customizationConfiguration": {
+                    "$ref": "#/types/aws-native:qbusiness:WebExperienceCustomizationConfiguration"
+                },
                 "identityProviderConfiguration": {
                     "oneOf": [
                         {
@@ -265047,6 +265561,127 @@
                 "monitoringScheduleConfig"
             ]
         },
+        "aws-native:sagemaker:PartnerApp": {
+            "description": "Resource Type definition for AWS::SageMaker::PartnerApp",
+            "properties": {
+                "applicationConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "arn": {
+                    "type": "string",
+                    "description": "The Amazon Resource Name (ARN) of the created PartnerApp."
+                },
+                "authType": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppAuthType",
+                    "description": "The Auth type of PartnerApp.",
+                    "replaceOnChanges": true
+                },
+                "baseUrl": {
+                    "type": "string",
+                    "description": "The AppServerUrl based on app and account-info."
+                },
+                "clientToken": {
+                    "type": "string",
+                    "description": "The client token for the PartnerApp."
+                },
+                "enableIamSessionBasedIdentity": {
+                    "type": "boolean",
+                    "description": "Enables IAM Session based Identity for PartnerApp."
+                },
+                "executionRoleArn": {
+                    "type": "string",
+                    "description": "The execution role for the user.",
+                    "replaceOnChanges": true
+                },
+                "maintenanceConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppMaintenanceConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "name": {
+                    "type": "string",
+                    "description": "A name for the PartnerApp.",
+                    "replaceOnChanges": true
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    },
+                    "description": "A list of tags to apply to the PartnerApp."
+                },
+                "tier": {
+                    "type": "string",
+                    "description": "The tier of the PartnerApp."
+                },
+                "type": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppType",
+                    "description": "The type of PartnerApp.",
+                    "replaceOnChanges": true
+                }
+            },
+            "type": "object",
+            "required": [
+                "arn",
+                "authType",
+                "baseUrl",
+                "executionRoleArn",
+                "name",
+                "tier",
+                "type"
+            ],
+            "inputProperties": {
+                "applicationConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "authType": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppAuthType",
+                    "description": "The Auth type of PartnerApp."
+                },
+                "clientToken": {
+                    "type": "string",
+                    "description": "The client token for the PartnerApp."
+                },
+                "enableIamSessionBasedIdentity": {
+                    "type": "boolean",
+                    "description": "Enables IAM Session based Identity for PartnerApp."
+                },
+                "executionRoleArn": {
+                    "type": "string",
+                    "description": "The execution role for the user."
+                },
+                "maintenanceConfig": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppMaintenanceConfig",
+                    "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                },
+                "name": {
+                    "type": "string",
+                    "description": "A name for the PartnerApp."
+                },
+                "tags": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/types/aws-native:index:Tag"
+                    },
+                    "description": "A list of tags to apply to the PartnerApp."
+                },
+                "tier": {
+                    "type": "string",
+                    "description": "The tier of the PartnerApp."
+                },
+                "type": {
+                    "$ref": "#/types/aws-native:sagemaker:PartnerAppType",
+                    "description": "The type of PartnerApp."
+                }
+            },
+            "requiredInputs": [
+                "authType",
+                "executionRoleArn",
+                "tier",
+                "type"
+            ]
+        },
         "aws-native:sagemaker:Pipeline": {
             "description": "Resource Type definition for AWS::SageMaker::Pipeline\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myPipeline = new AwsNative.SageMaker.Pipeline(\"myPipeline\", new()\n    {\n        PipelineName = \"\u003cpipeline-name\u003e\",\n        PipelineDisplayName = \"\u003cpipeline-display-name\u003e\",\n        PipelineDescription = \"\u003cpipeline-description\u003e\",\n        PipelineDefinition = new AwsNative.SageMaker.Inputs.PipelineDefinition0PropertiesArgs\n        {\n            PipelineDefinitionS3Location = new AwsNative.SageMaker.Inputs.PipelineS3LocationArgs\n            {\n                Bucket = \"\u003cS3-bucket-location\u003e\",\n                Key = \"\u003cS3-bucket-key\u003e\",\n            },\n        },\n        RoleArn = \"arn:aws:iam::\u003caccount-id\u003e:root\",\n    });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewPipeline(ctx, \"myPipeline\", \u0026sagemaker.PipelineArgs{\n\t\t\tPipelineName:        pulumi.String(\"\u003cpipeline-name\u003e\"),\n\t\t\tPipelineDisplayName: pulumi.String(\"\u003cpipeline-display-name\u003e\"),\n\t\t\tPipelineDescription: pulumi.String(\"\u003cpipeline-description\u003e\"),\n\t\t\tPipelineDefinition: \u0026sagemaker.PipelineDefinition0PropertiesArgs{\n\t\t\t\tPipelineDefinitionS3Location: \u0026sagemaker.PipelineS3LocationArgs{\n\t\t\t\t\tBucket: pulumi.String(\"\u003cS3-bucket-location\u003e\"),\n\t\t\t\t\tKey:    pulumi.String(\"\u003cS3-bucket-key\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::\u003caccount-id\u003e:root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myPipeline = new aws_native.sagemaker.Pipeline(\"myPipeline\", {\n    pipelineName: \"\u003cpipeline-name\u003e\",\n    pipelineDisplayName: \"\u003cpipeline-display-name\u003e\",\n    pipelineDescription: \"\u003cpipeline-description\u003e\",\n    pipelineDefinition: {\n        pipelineDefinitionS3Location: {\n            bucket: \"\u003cS3-bucket-location\u003e\",\n            key: \"\u003cS3-bucket-key\u003e\",\n        },\n    },\n    roleArn: \"arn:aws:iam::\u003caccount-id\u003e:root\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_pipeline = aws_native.sagemaker.Pipeline(\"myPipeline\",\n    pipeline_name=\"\u003cpipeline-name\u003e\",\n    pipeline_display_name=\"\u003cpipeline-display-name\u003e\",\n    pipeline_description=\"\u003cpipeline-description\u003e\",\n    pipeline_definition={\n        \"pipeline_definition_s3_location\": {\n            \"bucket\": \"\u003cS3-bucket-location\u003e\",\n            \"key\": \"\u003cS3-bucket-key\u003e\",\n        },\n    },\n    role_arn=\"arn:aws:iam::\u003caccount-id\u003e:root\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myPipeline = new AwsNative.SageMaker.Pipeline(\"myPipeline\", new()\n    {\n        PipelineName = \"\u003cpipeline-name\u003e\",\n        PipelineDisplayName = \"\u003cpipeline-display-name\u003e\",\n        PipelineDescription = \"\u003cpipeline-description\u003e\",\n        PipelineDefinition = new AwsNative.SageMaker.Inputs.PipelineDefinition0PropertiesArgs\n        {\n            PipelineDefinitionBody = \"{\\\"Version\\\":\\\"2020-12-01\\\",\\\"Parameters\\\":[{\\\"Name\\\":\\\"InputDataSource\\\",\\\"DefaultValue\\\":\\\"\\\"},{\\\"Name\\\":\\\"InstanceCount\\\",\\\"Type\\\":\\\"Integer\\\",\\\"DefaultValue\\\":1}],\\\"Steps\\\":[{\\\"Name\\\":\\\"Training1\\\",\\\"Type\\\":\\\"Training\\\",\\\"Arguments\\\":{\\\"InputDataConfig\\\":[{\\\"DataSource\\\":{\\\"S3DataSource\\\":{\\\"S3Uri\\\":{\\\"Get\\\":\\\"Parameters.InputDataSource\\\"}}}}],\\\"OutputDataConfig\\\":{\\\"S3OutputPath\\\":\\\"s3://my-s3-bucket/\\\"},\\\"ResourceConfig\\\":{\\\"InstanceType\\\":\\\"ml.m5.large\\\",\\\"InstanceCount\\\":{\\\"Get\\\":\\\"Parameters.InstanceCount\\\"},\\\"VolumeSizeInGB\\\":1024}}}]}\",\n        },\n        RoleArn = \"arn:aws:iam::\u003caccount-id\u003e:root\",\n    });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sagemaker\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sagemaker.NewPipeline(ctx, \"myPipeline\", \u0026sagemaker.PipelineArgs{\n\t\t\tPipelineName:        pulumi.String(\"\u003cpipeline-name\u003e\"),\n\t\t\tPipelineDisplayName: pulumi.String(\"\u003cpipeline-display-name\u003e\"),\n\t\t\tPipelineDescription: pulumi.String(\"\u003cpipeline-description\u003e\"),\n\t\t\tPipelineDefinition: \u0026sagemaker.PipelineDefinition0PropertiesArgs{\n\t\t\t\tPipelineDefinitionBody: pulumi.String(\"{\\\"Version\\\":\\\"2020-12-01\\\",\\\"Parameters\\\":[{\\\"Name\\\":\\\"InputDataSource\\\",\\\"DefaultValue\\\":\\\"\\\"},{\\\"Name\\\":\\\"InstanceCount\\\",\\\"Type\\\":\\\"Integer\\\",\\\"DefaultValue\\\":1}],\\\"Steps\\\":[{\\\"Name\\\":\\\"Training1\\\",\\\"Type\\\":\\\"Training\\\",\\\"Arguments\\\":{\\\"InputDataConfig\\\":[{\\\"DataSource\\\":{\\\"S3DataSource\\\":{\\\"S3Uri\\\":{\\\"Get\\\":\\\"Parameters.InputDataSource\\\"}}}}],\\\"OutputDataConfig\\\":{\\\"S3OutputPath\\\":\\\"s3://my-s3-bucket/\\\"},\\\"ResourceConfig\\\":{\\\"InstanceType\\\":\\\"ml.m5.large\\\",\\\"InstanceCount\\\":{\\\"Get\\\":\\\"Parameters.InstanceCount\\\"},\\\"VolumeSizeInGB\\\":1024}}}]}\"),\n\t\t\t},\n\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::\u003caccount-id\u003e:root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myPipeline = new aws_native.sagemaker.Pipeline(\"myPipeline\", {\n    pipelineName: \"\u003cpipeline-name\u003e\",\n    pipelineDisplayName: \"\u003cpipeline-display-name\u003e\",\n    pipelineDescription: \"\u003cpipeline-description\u003e\",\n    pipelineDefinition: {\n        pipelineDefinitionBody: \"{\\\"Version\\\":\\\"2020-12-01\\\",\\\"Parameters\\\":[{\\\"Name\\\":\\\"InputDataSource\\\",\\\"DefaultValue\\\":\\\"\\\"},{\\\"Name\\\":\\\"InstanceCount\\\",\\\"Type\\\":\\\"Integer\\\",\\\"DefaultValue\\\":1}],\\\"Steps\\\":[{\\\"Name\\\":\\\"Training1\\\",\\\"Type\\\":\\\"Training\\\",\\\"Arguments\\\":{\\\"InputDataConfig\\\":[{\\\"DataSource\\\":{\\\"S3DataSource\\\":{\\\"S3Uri\\\":{\\\"Get\\\":\\\"Parameters.InputDataSource\\\"}}}}],\\\"OutputDataConfig\\\":{\\\"S3OutputPath\\\":\\\"s3://my-s3-bucket/\\\"},\\\"ResourceConfig\\\":{\\\"InstanceType\\\":\\\"ml.m5.large\\\",\\\"InstanceCount\\\":{\\\"Get\\\":\\\"Parameters.InstanceCount\\\"},\\\"VolumeSizeInGB\\\":1024}}}]}\",\n    },\n    roleArn: \"arn:aws:iam::\u003caccount-id\u003e:root\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_pipeline = aws_native.sagemaker.Pipeline(\"myPipeline\",\n    pipeline_name=\"\u003cpipeline-name\u003e\",\n    pipeline_display_name=\"\u003cpipeline-display-name\u003e\",\n    pipeline_description=\"\u003cpipeline-description\u003e\",\n    pipeline_definition={\n        \"pipeline_definition_body\": \"{\\\"Version\\\":\\\"2020-12-01\\\",\\\"Parameters\\\":[{\\\"Name\\\":\\\"InputDataSource\\\",\\\"DefaultValue\\\":\\\"\\\"},{\\\"Name\\\":\\\"InstanceCount\\\",\\\"Type\\\":\\\"Integer\\\",\\\"DefaultValue\\\":1}],\\\"Steps\\\":[{\\\"Name\\\":\\\"Training1\\\",\\\"Type\\\":\\\"Training\\\",\\\"Arguments\\\":{\\\"InputDataConfig\\\":[{\\\"DataSource\\\":{\\\"S3DataSource\\\":{\\\"S3Uri\\\":{\\\"Get\\\":\\\"Parameters.InputDataSource\\\"}}}}],\\\"OutputDataConfig\\\":{\\\"S3OutputPath\\\":\\\"s3://my-s3-bucket/\\\"},\\\"ResourceConfig\\\":{\\\"InstanceType\\\":\\\"ml.m5.large\\\",\\\"InstanceCount\\\":{\\\"Get\\\":\\\"Parameters.InstanceCount\\\"},\\\"VolumeSizeInGB\\\":1024}}}]}\",\n    },\n    role_arn=\"arn:aws:iam::\u003caccount-id\u003e:root\")\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n",
             "properties": {
@@ -270967,7 +271602,8 @@
                 },
                 "description": {
                     "type": "string",
-                    "description": "An optional description of the state machine version."
+                    "description": "An optional description of the state machine version.",
+                    "replaceOnChanges": true
                 },
                 "stateMachineArn": {
                     "type": "string",
@@ -274799,16 +275435,20 @@
             "description": "Definition of AWS::Wisdom::AIGuardrail Resource Type",
             "properties": {
                 "aiGuardrailArn": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The Amazon Resource Name (ARN) of the AI Guardrail."
                 },
                 "aiGuardrailId": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The identifier of the Amazon Q in Connect AI Guardrail."
                 },
                 "assistantArn": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant."
                 },
                 "assistantId": {
                     "type": "string",
+                    "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.",
                     "replaceOnChanges": true
                 },
                 "blockedInputMessaging": {
@@ -274820,10 +275460,12 @@
                     "description": "Messaging for when violations are detected in text"
                 },
                 "contentPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig",
+                    "description": "Contains details about how to handle harmful content."
                 },
                 "contextualGroundingPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig",
+                    "description": "The policy configuration details for the AI Guardrail's contextual grounding policy."
                 },
                 "description": {
                     "type": "string",
@@ -274831,23 +275473,28 @@
                 },
                 "name": {
                     "type": "string",
+                    "description": "The name of the AI Guardrail.",
                     "replaceOnChanges": true
                 },
                 "sensitiveInformationPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig",
+                    "description": "Contains details about PII entities and regular expressions to configure for the AI Guardrail."
                 },
                 "tags": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     },
+                    "description": "The tags used to organize, track, or control access for this resource.",
                     "replaceOnChanges": true
                 },
                 "topicPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig",
+                    "description": "Contains details about topics that the AI Guardrail should identify and deny."
                 },
                 "wordPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig",
+                    "description": "Contains details about the word policy to configured for the AI Guardrail."
                 }
             },
             "type": "object",
@@ -274861,7 +275508,8 @@
             ],
             "inputProperties": {
                 "assistantId": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN."
                 },
                 "blockedInputMessaging": {
                     "type": "string",
@@ -274872,32 +275520,39 @@
                     "description": "Messaging for when violations are detected in text"
                 },
                 "contentPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig",
+                    "description": "Contains details about how to handle harmful content."
                 },
                 "contextualGroundingPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig",
+                    "description": "The policy configuration details for the AI Guardrail's contextual grounding policy."
                 },
                 "description": {
                     "type": "string",
                     "description": "Description of the guardrail or its version"
                 },
                 "name": {
-                    "type": "string"
+                    "type": "string",
+                    "description": "The name of the AI Guardrail."
                 },
                 "sensitiveInformationPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig",
+                    "description": "Contains details about PII entities and regular expressions to configure for the AI Guardrail."
                 },
                 "tags": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
-                    }
+                    },
+                    "description": "The tags used to organize, track, or control access for this resource."
                 },
                 "topicPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig",
+                    "description": "Contains details about topics that the AI Guardrail should identify and deny."
                 },
                 "wordPolicyConfig": {
-                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig"
+                    "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig",
+                    "description": "Contains details about the word policy to configured for the AI Guardrail."
                 }
             },
             "requiredInputs": [
@@ -274931,7 +275586,8 @@
                     "replaceOnChanges": true
                 },
                 "versionNumber": {
-                    "type": "number"
+                    "type": "number",
+                    "description": "The version number for this AI Guardrail version."
                 }
             },
             "type": "object",
@@ -307338,7 +307994,7 @@
                     },
                     "metricsConfig": {
                         "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig",
-                        "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) ."
+                        "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
                     },
                     "parallelizationFactor": {
                         "type": "integer",
@@ -307346,7 +308002,7 @@
                     },
                     "provisionedPollerConfig": {
                         "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig",
-                        "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) ."
+                        "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode)."
                     },
                     "queues": {
                         "type": "array",
@@ -315518,6 +316174,57 @@
                 }
             }
         },
+        "aws-native:qbusiness:getDataAccessor": {
+            "description": "Definition of AWS::QBusiness::DataAccessor Resource Type",
+            "inputs": {
+                "properties": {
+                    "applicationId": {
+                        "type": "string"
+                    },
+                    "dataAccessorId": {
+                        "type": "string"
+                    }
+                },
+                "required": [
+                    "applicationId",
+                    "dataAccessorId"
+                ]
+            },
+            "outputs": {
+                "properties": {
+                    "actionConfigurations": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/types/aws-native:qbusiness:DataAccessorActionConfiguration"
+                        }
+                    },
+                    "createdAt": {
+                        "type": "string"
+                    },
+                    "dataAccessorArn": {
+                        "type": "string"
+                    },
+                    "dataAccessorId": {
+                        "type": "string"
+                    },
+                    "displayName": {
+                        "type": "string"
+                    },
+                    "idcApplicationArn": {
+                        "type": "string"
+                    },
+                    "tags": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/types/aws-native:index:Tag"
+                        }
+                    },
+                    "updatedAt": {
+                        "type": "string"
+                    }
+                }
+            }
+        },
         "aws-native:qbusiness:getDataSource": {
             "description": "Definition of AWS::QBusiness::DataSource Resource Type",
             "inputs": {
@@ -315571,6 +316278,9 @@
                         "$ref": "#/types/aws-native:qbusiness:DataSourceDocumentEnrichmentConfiguration",
                         "description": "Provides the configuration information for altering document metadata and content during the document ingestion process.\n\nFor more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) ."
                     },
+                    "mediaExtractionConfiguration": {
+                        "$ref": "#/types/aws-native:qbusiness:DataSourceMediaExtractionConfiguration"
+                    },
                     "roleArn": {
                         "type": "string",
                         "description": "The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources."
@@ -315850,6 +316560,9 @@
                         "type": "string",
                         "description": "The Unix timestamp when the Amazon Q Business application was last updated."
                     },
+                    "customizationConfiguration": {
+                        "$ref": "#/types/aws-native:qbusiness:WebExperienceCustomizationConfiguration"
+                    },
                     "defaultEndpoint": {
                         "type": "string",
                         "description": "The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS ."
@@ -321952,6 +322665,55 @@
                 }
             }
         },
+        "aws-native:sagemaker:getPartnerApp": {
+            "description": "Resource Type definition for AWS::SageMaker::PartnerApp",
+            "inputs": {
+                "properties": {
+                    "arn": {
+                        "type": "string",
+                        "description": "The Amazon Resource Name (ARN) of the created PartnerApp."
+                    }
+                },
+                "required": [
+                    "arn"
+                ]
+            },
+            "outputs": {
+                "properties": {
+                    "applicationConfig": {
+                        "$ref": "#/types/aws-native:sagemaker:PartnerAppConfig",
+                        "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                    },
+                    "arn": {
+                        "type": "string",
+                        "description": "The Amazon Resource Name (ARN) of the created PartnerApp."
+                    },
+                    "baseUrl": {
+                        "type": "string",
+                        "description": "The AppServerUrl based on app and account-info."
+                    },
+                    "enableIamSessionBasedIdentity": {
+                        "type": "boolean",
+                        "description": "Enables IAM Session based Identity for PartnerApp."
+                    },
+                    "maintenanceConfig": {
+                        "$ref": "#/types/aws-native:sagemaker:PartnerAppMaintenanceConfig",
+                        "description": "A collection of settings that specify the maintenance schedule for the PartnerApp."
+                    },
+                    "tags": {
+                        "type": "array",
+                        "items": {
+                            "$ref": "#/types/aws-native:index:Tag"
+                        },
+                        "description": "A list of tags to apply to the PartnerApp."
+                    },
+                    "tier": {
+                        "type": "string",
+                        "description": "The tier of the PartnerApp."
+                    }
+                }
+            }
+        },
         "aws-native:sagemaker:getPipeline": {
             "description": "Resource Type definition for AWS::SageMaker::Pipeline",
             "inputs": {
@@ -325300,10 +326062,6 @@
                     "arn": {
                         "type": "string",
                         "description": "Returns the ARN of the state machine version. For example, `arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1` ."
-                    },
-                    "description": {
-                        "type": "string",
-                        "description": "An optional description of the state machine version."
                     }
                 }
             }
@@ -327396,10 +328154,12 @@
             "inputs": {
                 "properties": {
                     "aiGuardrailId": {
-                        "type": "string"
+                        "type": "string",
+                        "description": "The identifier of the Amazon Q in Connect AI Guardrail."
                     },
                     "assistantId": {
-                        "type": "string"
+                        "type": "string",
+                        "description": "The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN."
                     }
                 },
                 "required": [
@@ -327410,13 +328170,16 @@
             "outputs": {
                 "properties": {
                     "aiGuardrailArn": {
-                        "type": "string"
+                        "type": "string",
+                        "description": "The Amazon Resource Name (ARN) of the AI Guardrail."
                     },
                     "aiGuardrailId": {
-                        "type": "string"
+                        "type": "string",
+                        "description": "The identifier of the Amazon Q in Connect AI Guardrail."
                     },
                     "assistantArn": {
-                        "type": "string"
+                        "type": "string",
+                        "description": "The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant."
                     },
                     "blockedInputMessaging": {
                         "type": "string",
@@ -327427,23 +328190,28 @@
                         "description": "Messaging for when violations are detected in text"
                     },
                     "contentPolicyConfig": {
-                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig"
+                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContentPolicyConfig",
+                        "description": "Contains details about how to handle harmful content."
                     },
                     "contextualGroundingPolicyConfig": {
-                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig"
+                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailContextualGroundingPolicyConfig",
+                        "description": "The policy configuration details for the AI Guardrail's contextual grounding policy."
                     },
                     "description": {
                         "type": "string",
                         "description": "Description of the guardrail or its version"
                     },
                     "sensitiveInformationPolicyConfig": {
-                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig"
+                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailSensitiveInformationPolicyConfig",
+                        "description": "Contains details about PII entities and regular expressions to configure for the AI Guardrail."
                     },
                     "topicPolicyConfig": {
-                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig"
+                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailTopicPolicyConfig",
+                        "description": "Contains details about topics that the AI Guardrail should identify and deny."
                     },
                     "wordPolicyConfig": {
-                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig"
+                        "$ref": "#/types/aws-native:wisdom:AiGuardrailAiGuardrailWordPolicyConfig",
+                        "description": "Contains details about the word policy to configured for the AI Guardrail."
                     }
                 }
             }
@@ -327459,7 +328227,8 @@
                         "type": "string"
                     },
                     "versionNumber": {
-                        "type": "number"
+                        "type": "number",
+                        "description": "The version number for this AI Guardrail version."
                     }
                 },
                 "required": [
@@ -327480,7 +328249,8 @@
                         "type": "string"
                     },
                     "versionNumber": {
-                        "type": "number"
+                        "type": "number",
+                        "description": "The version number for this AI Guardrail version."
                     }
                 }
             }
diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json
index 97004511d1..82a5949114 100644
--- a/reports/missedAutonaming.json
+++ b/reports/missedAutonaming.json
@@ -8567,7 +8567,7 @@
       },
       "metricsConfig": {
         "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig",
-        "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) ."
+        "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics)."
       },
       "parallelizationFactor": {
         "type": "integer",
@@ -8575,7 +8575,7 @@
       },
       "provisionedPollerConfig": {
         "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig",
-        "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) ."
+        "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode)."
       },
       "queues": {
         "type": "array",
@@ -10249,6 +10249,9 @@
         "$ref": "#/types/aws-native:qbusiness:ApplicationQAppsConfiguration",
         "description": "Configuration information about Amazon Q Apps."
       },
+      "quickSightConfiguration": {
+        "$ref": "#/types/aws-native:qbusiness:ApplicationQuickSightConfiguration"
+      },
       "roleArn": {
         "type": "string",
         "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role."
@@ -10262,6 +10265,32 @@
       }
     }
   },
+  "aws-native:qbusiness:DataAccessor": {
+    "cfTypeName": "AWS::QBusiness::DataAccessor",
+    "properties": {
+      "actionConfigurations": {
+        "type": "array",
+        "items": {
+          "$ref": "#/types/aws-native:qbusiness:DataAccessorActionConfiguration"
+        }
+      },
+      "applicationId": {
+        "type": "string"
+      },
+      "displayName": {
+        "type": "string"
+      },
+      "principal": {
+        "type": "string"
+      },
+      "tags": {
+        "type": "array",
+        "items": {
+          "$ref": "#/types/aws-native:index:Tag"
+        }
+      }
+    }
+  },
   "aws-native:qbusiness:DataSource": {
     "cfTypeName": "AWS::QBusiness::DataSource",
     "properties": {
@@ -10289,6 +10318,9 @@
         "type": "string",
         "description": "The identifier of the index the data source is attached to."
       },
+      "mediaExtractionConfiguration": {
+        "$ref": "#/types/aws-native:qbusiness:DataSourceMediaExtractionConfiguration"
+      },
       "roleArn": {
         "type": "string",
         "description": "The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources."
@@ -10349,6 +10381,26 @@
       }
     }
   },
+  "aws-native:qbusiness:Permission": {
+    "cfTypeName": "AWS::QBusiness::Permission",
+    "properties": {
+      "actions": {
+        "type": "array",
+        "items": {
+          "type": "string"
+        }
+      },
+      "applicationId": {
+        "type": "string"
+      },
+      "principal": {
+        "type": "string"
+      },
+      "statementId": {
+        "type": "string"
+      }
+    }
+  },
   "aws-native:qbusiness:Plugin": {
     "cfTypeName": "AWS::QBusiness::Plugin",
     "properties": {
@@ -10445,6 +10497,9 @@
         "type": "string",
         "description": "The identifier of the Amazon Q Business web experience."
       },
+      "customizationConfiguration": {
+        "$ref": "#/types/aws-native:qbusiness:WebExperienceCustomizationConfiguration"
+      },
       "identityProviderConfiguration": {
         "oneOf": [
           {
diff --git a/sdk/dotnet/AmazonMq/Configuration.cs b/sdk/dotnet/AmazonMq/Configuration.cs
index cdeec433d3..8e30739c73 100644
--- a/sdk/dotnet/AmazonMq/Configuration.cs
+++ b/sdk/dotnet/AmazonMq/Configuration.cs
@@ -77,7 +77,7 @@ public partial class Configuration : global::Pulumi.CustomResource
         /// The base64-encoded XML configuration.
         /// </summary>
         [Output("data")]
-        public Output<string> Data { get; private set; } = null!;
+        public Output<string?> Data { get; private set; } = null!;
 
         /// <summary>
         /// The description of the configuration.
@@ -176,8 +176,8 @@ public sealed class ConfigurationArgs : global::Pulumi.ResourceArgs
         /// <summary>
         /// The base64-encoded XML configuration.
         /// </summary>
-        [Input("data", required: true)]
-        public Input<string> Data { get; set; } = null!;
+        [Input("data")]
+        public Input<string>? Data { get; set; }
 
         /// <summary>
         /// The description of the configuration.
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs
index 349e0ac36d..bbaa97b5b1 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs
@@ -10,6 +10,10 @@
 namespace Pulumi.AwsNative.Ec2.Inputs
 {
 
+    /// <summary>
+    /// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+    ///  Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
+    /// </summary>
     public sealed class LaunchTemplateBaselinePerformanceFactorsArgs : global::Pulumi.ResourceArgs
     {
         /// <summary>
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateCapacityReservationSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateCapacityReservationSpecificationArgs.cs
index 123f5bcaf9..9fc6816d0f 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateCapacityReservationSpecificationArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateCapacityReservationSpecificationArgs.cs
@@ -18,7 +18,8 @@ public sealed class LaunchTemplateCapacityReservationSpecificationArgs : global:
     {
         /// <summary>
         /// Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-        ///   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+        ///   +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+        ///   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
         ///   +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         /// </summary>
         [Input("capacityReservationPreference")]
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs
index 723e3d65e3..8647362ad4 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs
@@ -81,7 +81,8 @@ public InputList<Inputs.LaunchTemplateElasticGpuSpecificationArgs> ElasticGpuSpe
         private InputList<Inputs.LaunchTemplateElasticInferenceAcceleratorArgs>? _elasticInferenceAccelerators;
 
         /// <summary>
-        /// An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        /// Amazon Elastic Inference is no longer available.
+        ///   An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
         ///  You cannot specify accelerators from different generations in the same request.
         ///   Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         /// </summary>
@@ -146,7 +147,7 @@ public InputList<Inputs.LaunchTemplateElasticInferenceAcceleratorArgs> ElasticIn
         ///   
         ///   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
         ///  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-        ///   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+        ///   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         /// </summary>
         [Input("instanceRequirements")]
         public Input<Inputs.LaunchTemplateInstanceRequirementsArgs>? InstanceRequirements { get; set; }
@@ -214,6 +215,9 @@ public InputList<Inputs.LaunchTemplateNetworkInterfaceArgs> NetworkInterfaces
             set => _networkInterfaces = value;
         }
 
+        [Input("networkPerformanceOptions")]
+        public Input<object>? NetworkPerformanceOptions { get; set; }
+
         /// <summary>
         /// The placement for the instance.
         /// </summary>
@@ -263,8 +267,7 @@ public InputList<string> SecurityGroups
         private InputList<Inputs.TagSpecificationArgs>? _tagSpecifications;
 
         /// <summary>
-        /// The tags to apply to the resources that are created during instance launch.
-        ///  To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        /// The tags to apply to resources that are created during instance launch.
         ///  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         /// </summary>
         public InputList<Inputs.TagSpecificationArgs> TagSpecifications
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs
index 0c2790b37d..81e0ef7f9a 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs
@@ -42,7 +42,7 @@ public sealed class LaunchTemplateEbsArgs : global::Pulumi.ResourceArgs
         public Input<int>? Iops { get; set; }
 
         /// <summary>
-        /// The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        /// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         /// </summary>
         [Input("kmsKeyId")]
         public Input<string>? KmsKeyId { get; set; }
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs
index 78ef563352..0668560606 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs
@@ -20,7 +20,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs
     ///   
     ///   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
     ///  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-    ///   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+    ///   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
     /// </summary>
     public sealed class LaunchTemplateInstanceRequirementsArgs : global::Pulumi.ResourceArgs
     {
@@ -91,7 +91,6 @@ public InputList<string> AcceleratorNames
         /// The accelerator types that must be on the instance type.
         ///   +  For instance types with GPU accelerators, specify ``gpu``.
         ///   +  For instance types with FPGA accelerators, specify ``fpga``.
-        ///   +  For instance types with inference accelerators, specify ``inference``.
         ///   
         ///  Default: Any accelerator type
         /// </summary>
@@ -136,7 +135,7 @@ public InputList<string> AllowedInstanceTypes
         public Input<Inputs.LaunchTemplateBaselineEbsBandwidthMbpsArgs>? BaselineEbsBandwidthMbps { get; set; }
 
         /// <summary>
-        /// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        /// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         /// </summary>
         [Input("baselinePerformanceFactors")]
         public Input<Inputs.LaunchTemplateBaselinePerformanceFactorsArgs>? BaselinePerformanceFactors { get; set; }
@@ -160,6 +159,7 @@ public InputList<string> AllowedInstanceTypes
         ///   +  For instance types with Intel CPUs, specify ``intel``.
         ///   +  For instance types with AMD CPUs, specify ``amd``.
         ///   +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+        ///   +  For instance types with Apple CPUs, specify ``apple``.
         ///   
         ///   Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
         ///   Default: Any manufacturer
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs
index c7b209eca7..595cb6881f 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs
@@ -73,9 +73,10 @@ public InputList<string> Groups
         }
 
         /// <summary>
-        /// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        /// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
         ///  If you are not creating an EFA, specify ``interface`` or omit this parameter.
-        ///  Valid values: ``interface`` | ``efa``
+        ///  If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+        ///  Valid values: ``interface`` | ``efa`` | ``efa-only``
         /// </summary>
         [Input("interfaceType")]
         public Input<string>? InterfaceType { get; set; }
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs
index 0f34b579a6..735df11021 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs
@@ -12,9 +12,6 @@ namespace Pulumi.AwsNative.Ec2.Inputs
 
     public sealed class LaunchTemplateReferenceArgs : global::Pulumi.ResourceArgs
     {
-        /// <summary>
-        /// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        /// </summary>
         [Input("instanceFamily")]
         public Input<string>? InstanceFamily { get; set; }
 
diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs
index bf88a7d1eb..f7aca51ace 100644
--- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs
@@ -12,6 +12,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs
 
     /// <summary>
     /// Specifies the tags to apply to the launch template during creation.
+    ///  To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
     ///   ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
     /// </summary>
     public sealed class LaunchTemplateTagSpecificationArgs : global::Pulumi.ResourceArgs
diff --git a/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs
index de30167450..d8f23f92e6 100644
--- a/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs
+++ b/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs
@@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs
 {
 
     /// <summary>
-    /// Specifies the tags to apply to a resource when the resource is created for the launch template.
+    /// Specifies the tags to apply to resources that are created during instance launch.
     ///   ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
     /// </summary>
     public sealed class TagSpecificationArgs : global::Pulumi.ResourceArgs
diff --git a/sdk/dotnet/Ec2/LaunchTemplate.cs b/sdk/dotnet/Ec2/LaunchTemplate.cs
index 127684e336..912b957f67 100644
--- a/sdk/dotnet/Ec2/LaunchTemplate.cs
+++ b/sdk/dotnet/Ec2/LaunchTemplate.cs
@@ -55,7 +55,7 @@ public partial class LaunchTemplate : global::Pulumi.CustomResource
 
         /// <summary>
         /// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-        ///  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+        ///  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
         /// </summary>
         [Output("tagSpecifications")]
         public Output<ImmutableArray<Outputs.LaunchTemplateTagSpecification>> TagSpecifications { get; private set; } = null!;
@@ -132,7 +132,7 @@ public sealed class LaunchTemplateArgs : global::Pulumi.ResourceArgs
 
         /// <summary>
         /// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-        ///  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+        ///  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
         /// </summary>
         public InputList<Inputs.LaunchTemplateTagSpecificationArgs> TagSpecifications
         {
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs
index 885d937c2b..a848e87d0a 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs
@@ -10,6 +10,10 @@
 namespace Pulumi.AwsNative.Ec2.Outputs
 {
 
+    /// <summary>
+    /// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+    ///  Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
+    /// </summary>
     [OutputType]
     public sealed class LaunchTemplateBaselinePerformanceFactors
     {
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateCapacityReservationSpecification.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateCapacityReservationSpecification.cs
index 26be4377ae..54d23c84eb 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateCapacityReservationSpecification.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateCapacityReservationSpecification.cs
@@ -19,7 +19,8 @@ public sealed class LaunchTemplateCapacityReservationSpecification
     {
         /// <summary>
         /// Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-        ///   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+        ///   +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+        ///   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
         ///   +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         /// </summary>
         public readonly string? CapacityReservationPreference;
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs
index 04fae631d0..55a8304aad 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs
@@ -51,7 +51,8 @@ public sealed class LaunchTemplateData
         /// </summary>
         public readonly ImmutableArray<Outputs.LaunchTemplateElasticGpuSpecification> ElasticGpuSpecifications;
         /// <summary>
-        /// An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        /// Amazon Elastic Inference is no longer available.
+        ///   An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
         ///  You cannot specify accelerators from different generations in the same request.
         ///   Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         /// </summary>
@@ -99,7 +100,7 @@ public sealed class LaunchTemplateData
         ///   
         ///   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
         ///  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-        ///   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+        ///   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         /// </summary>
         public readonly Outputs.LaunchTemplateInstanceRequirements? InstanceRequirements;
         /// <summary>
@@ -137,6 +138,7 @@ public sealed class LaunchTemplateData
         /// The network interfaces for the instance.
         /// </summary>
         public readonly ImmutableArray<Outputs.LaunchTemplateNetworkInterface> NetworkInterfaces;
+        public readonly object? NetworkPerformanceOptions;
         /// <summary>
         /// The placement for the instance.
         /// </summary>
@@ -161,8 +163,7 @@ public sealed class LaunchTemplateData
         /// </summary>
         public readonly ImmutableArray<string> SecurityGroups;
         /// <summary>
-        /// The tags to apply to the resources that are created during instance launch.
-        ///  To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        /// The tags to apply to resources that are created during instance launch.
         ///  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         /// </summary>
         public readonly ImmutableArray<Outputs.TagSpecification> TagSpecifications;
@@ -222,6 +223,8 @@ private LaunchTemplateData(
 
             ImmutableArray<Outputs.LaunchTemplateNetworkInterface> networkInterfaces,
 
+            object? networkPerformanceOptions,
+
             Outputs.LaunchTemplatePlacement? placement,
 
             Outputs.LaunchTemplatePrivateDnsNameOptions? privateDnsNameOptions,
@@ -260,6 +263,7 @@ private LaunchTemplateData(
             MetadataOptions = metadataOptions;
             Monitoring = monitoring;
             NetworkInterfaces = networkInterfaces;
+            NetworkPerformanceOptions = networkPerformanceOptions;
             Placement = placement;
             PrivateDnsNameOptions = privateDnsNameOptions;
             RamDiskId = ramDiskId;
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs
index cbb5c074c7..b19589e051 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs
@@ -37,7 +37,7 @@ public sealed class LaunchTemplateEbs
         /// </summary>
         public readonly int? Iops;
         /// <summary>
-        /// The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        /// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         /// </summary>
         public readonly string? KmsKeyId;
         /// <summary>
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs
index 73e24602a7..befa41313f 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs
@@ -20,7 +20,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs
     ///   
     ///   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
     ///  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-    ///   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+    ///   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
     /// </summary>
     [OutputType]
     public sealed class LaunchTemplateInstanceRequirements
@@ -69,7 +69,6 @@ public sealed class LaunchTemplateInstanceRequirements
         /// The accelerator types that must be on the instance type.
         ///   +  For instance types with GPU accelerators, specify ``gpu``.
         ///   +  For instance types with FPGA accelerators, specify ``fpga``.
-        ///   +  For instance types with inference accelerators, specify ``inference``.
         ///   
         ///  Default: Any accelerator type
         /// </summary>
@@ -97,7 +96,7 @@ public sealed class LaunchTemplateInstanceRequirements
         /// </summary>
         public readonly Outputs.LaunchTemplateBaselineEbsBandwidthMbps? BaselineEbsBandwidthMbps;
         /// <summary>
-        /// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        /// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         /// </summary>
         public readonly Outputs.LaunchTemplateBaselinePerformanceFactors? BaselinePerformanceFactors;
         /// <summary>
@@ -114,6 +113,7 @@ public sealed class LaunchTemplateInstanceRequirements
         ///   +  For instance types with Intel CPUs, specify ``intel``.
         ///   +  For instance types with AMD CPUs, specify ``amd``.
         ///   +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+        ///   +  For instance types with Apple CPUs, specify ``apple``.
         ///   
         ///   Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
         ///   Default: Any manufacturer
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs
index 114940fd31..a47f0467e5 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs
@@ -52,9 +52,10 @@ public sealed class LaunchTemplateNetworkInterface
         /// </summary>
         public readonly ImmutableArray<string> Groups;
         /// <summary>
-        /// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        /// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
         ///  If you are not creating an EFA, specify ``interface`` or omit this parameter.
-        ///  Valid values: ``interface`` | ``efa``
+        ///  If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+        ///  Valid values: ``interface`` | ``efa`` | ``efa-only``
         /// </summary>
         public readonly string? InterfaceType;
         /// <summary>
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs
index 057becbcb8..20f7aeff5a 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs
@@ -13,9 +13,6 @@ namespace Pulumi.AwsNative.Ec2.Outputs
     [OutputType]
     public sealed class LaunchTemplateReference
     {
-        /// <summary>
-        /// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        /// </summary>
         public readonly string? InstanceFamily;
 
         [OutputConstructor]
diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs
index ae0d3f4adf..c1244679d8 100644
--- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs
+++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs
@@ -12,6 +12,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs
 
     /// <summary>
     /// Specifies the tags to apply to the launch template during creation.
+    ///  To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
     ///   ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
     /// </summary>
     [OutputType]
diff --git a/sdk/dotnet/Ec2/Outputs/TagSpecification.cs b/sdk/dotnet/Ec2/Outputs/TagSpecification.cs
index 2539fb61d0..88f2d76c36 100644
--- a/sdk/dotnet/Ec2/Outputs/TagSpecification.cs
+++ b/sdk/dotnet/Ec2/Outputs/TagSpecification.cs
@@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs
 {
 
     /// <summary>
-    /// Specifies the tags to apply to a resource when the resource is created for the launch template.
+    /// Specifies the tags to apply to resources that are created during instance launch.
     ///   ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
     /// </summary>
     [OutputType]
diff --git a/sdk/dotnet/Kendra/Enums.cs b/sdk/dotnet/Kendra/Enums.cs
index 7b01b4ffee..b24efd2c12 100644
--- a/sdk/dotnet/Kendra/Enums.cs
+++ b/sdk/dotnet/Kendra/Enums.cs
@@ -613,6 +613,7 @@ private IndexEdition(string value)
 
         public static IndexEdition DeveloperEdition { get; } = new IndexEdition("DEVELOPER_EDITION");
         public static IndexEdition EnterpriseEdition { get; } = new IndexEdition("ENTERPRISE_EDITION");
+        public static IndexEdition GenAiEnterpriseEdition { get; } = new IndexEdition("GEN_AI_ENTERPRISE_EDITION");
 
         public static bool operator ==(IndexEdition left, IndexEdition right) => left.Equals(right);
         public static bool operator !=(IndexEdition left, IndexEdition right) => !left.Equals(right);
diff --git a/sdk/dotnet/Lambda/EventSourceMapping.cs b/sdk/dotnet/Lambda/EventSourceMapping.cs
index f9bb67f18e..6b41323b2a 100644
--- a/sdk/dotnet/Lambda/EventSourceMapping.cs
+++ b/sdk/dotnet/Lambda/EventSourceMapping.cs
@@ -146,7 +146,7 @@ public partial class EventSourceMapping : global::Pulumi.CustomResource
         public Output<int?> MaximumRetryAttempts { get; private set; } = null!;
 
         /// <summary>
-        /// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        /// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         /// </summary>
         [Output("metricsConfig")]
         public Output<Outputs.EventSourceMappingMetricsConfig?> MetricsConfig { get; private set; } = null!;
@@ -158,7 +158,7 @@ public partial class EventSourceMapping : global::Pulumi.CustomResource
         public Output<int?> ParallelizationFactor { get; private set; } = null!;
 
         /// <summary>
-        /// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        /// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         /// </summary>
         [Output("provisionedPollerConfig")]
         public Output<Outputs.EventSourceMappingProvisionedPollerConfig?> ProvisionedPollerConfig { get; private set; } = null!;
@@ -398,7 +398,7 @@ public InputList<Pulumi.AwsNative.Lambda.EventSourceMappingFunctionResponseTypes
         public Input<int>? MaximumRetryAttempts { get; set; }
 
         /// <summary>
-        /// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        /// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         /// </summary>
         [Input("metricsConfig")]
         public Input<Inputs.EventSourceMappingMetricsConfigArgs>? MetricsConfig { get; set; }
@@ -410,7 +410,7 @@ public InputList<Pulumi.AwsNative.Lambda.EventSourceMappingFunctionResponseTypes
         public Input<int>? ParallelizationFactor { get; set; }
 
         /// <summary>
-        /// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        /// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         /// </summary>
         [Input("provisionedPollerConfig")]
         public Input<Inputs.EventSourceMappingProvisionedPollerConfigArgs>? ProvisionedPollerConfig { get; set; }
diff --git a/sdk/dotnet/Lambda/GetEventSourceMapping.cs b/sdk/dotnet/Lambda/GetEventSourceMapping.cs
index f5f40d46e0..0278604874 100644
--- a/sdk/dotnet/Lambda/GetEventSourceMapping.cs
+++ b/sdk/dotnet/Lambda/GetEventSourceMapping.cs
@@ -150,7 +150,7 @@ public sealed class GetEventSourceMappingResult
         /// </summary>
         public readonly int? MaximumRetryAttempts;
         /// <summary>
-        /// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        /// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         /// </summary>
         public readonly Outputs.EventSourceMappingMetricsConfig? MetricsConfig;
         /// <summary>
@@ -158,7 +158,7 @@ public sealed class GetEventSourceMappingResult
         /// </summary>
         public readonly int? ParallelizationFactor;
         /// <summary>
-        /// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        /// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         /// </summary>
         public readonly Outputs.EventSourceMappingProvisionedPollerConfig? ProvisionedPollerConfig;
         /// <summary>
diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs
index eb83f946de..0dbd1320e4 100644
--- a/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs
+++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs
@@ -10,13 +10,16 @@
 namespace Pulumi.AwsNative.Lambda.Inputs
 {
 
+    /// <summary>
+    /// The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+    /// </summary>
     public sealed class EventSourceMappingMetricsConfigArgs : global::Pulumi.ResourceArgs
     {
         [Input("metrics")]
         private InputList<Pulumi.AwsNative.Lambda.EventSourceMappingMetricsConfigMetricsItem>? _metrics;
 
         /// <summary>
-        /// Metric groups to enable.
+        /// The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         /// </summary>
         public InputList<Pulumi.AwsNative.Lambda.EventSourceMappingMetricsConfigMetricsItem> Metrics
         {
diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingOnFailureArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingOnFailureArgs.cs
index c092479b2b..6208ec4f82 100644
--- a/sdk/dotnet/Lambda/Inputs/EventSourceMappingOnFailureArgs.cs
+++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingOnFailureArgs.cs
@@ -17,9 +17,8 @@ public sealed class EventSourceMappingOnFailureArgs : global::Pulumi.ResourceArg
     {
         /// <summary>
         /// The Amazon Resource Name (ARN) of the destination resource.
-        ///  To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-        ///  To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-        ///  To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+        ///  To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+        ///  To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         /// </summary>
         [Input("destination")]
         public Input<string>? Destination { get; set; }
diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs
index 0521650607..51c0b9b8ce 100644
--- a/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs
+++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs
@@ -10,6 +10,9 @@
 namespace Pulumi.AwsNative.Lambda.Inputs
 {
 
+    /// <summary>
+    /// The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
+    /// </summary>
     public sealed class EventSourceMappingProvisionedPollerConfigArgs : global::Pulumi.ResourceArgs
     {
         /// <summary>
diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs
index a61c496de7..c1d8a80c38 100644
--- a/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs
+++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs
@@ -10,11 +10,14 @@
 namespace Pulumi.AwsNative.Lambda.Outputs
 {
 
+    /// <summary>
+    /// The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+    /// </summary>
     [OutputType]
     public sealed class EventSourceMappingMetricsConfig
     {
         /// <summary>
-        /// Metric groups to enable.
+        /// The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         /// </summary>
         public readonly ImmutableArray<Pulumi.AwsNative.Lambda.EventSourceMappingMetricsConfigMetricsItem> Metrics;
 
diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingOnFailure.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingOnFailure.cs
index 5aafb29a7e..f04de8bf06 100644
--- a/sdk/dotnet/Lambda/Outputs/EventSourceMappingOnFailure.cs
+++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingOnFailure.cs
@@ -18,9 +18,8 @@ public sealed class EventSourceMappingOnFailure
     {
         /// <summary>
         /// The Amazon Resource Name (ARN) of the destination resource.
-        ///  To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-        ///  To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-        ///  To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+        ///  To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+        ///  To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         /// </summary>
         public readonly string? Destination;
 
diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs
index eb0dfdfdcd..37ed0361d7 100644
--- a/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs
+++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs
@@ -10,6 +10,9 @@
 namespace Pulumi.AwsNative.Lambda.Outputs
 {
 
+    /// <summary>
+    /// The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
+    /// </summary>
     [OutputType]
     public sealed class EventSourceMappingProvisionedPollerConfig
     {
diff --git a/sdk/dotnet/QBusiness/Application.cs b/sdk/dotnet/QBusiness/Application.cs
index bf5e5c2c82..5b465fe5c3 100644
--- a/sdk/dotnet/QBusiness/Application.cs
+++ b/sdk/dotnet/QBusiness/Application.cs
@@ -104,6 +104,9 @@ public partial class Application : global::Pulumi.CustomResource
         [Output("qAppsConfiguration")]
         public Output<Outputs.ApplicationQAppsConfiguration?> QAppsConfiguration { get; private set; } = null!;
 
+        [Output("quickSightConfiguration")]
+        public Output<Outputs.ApplicationQuickSightConfiguration?> QuickSightConfiguration { get; private set; } = null!;
+
         /// <summary>
         /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
         /// </summary>
@@ -157,6 +160,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions?
                     "encryptionConfiguration",
                     "iamIdentityProviderArn",
                     "identityType",
+                    "quickSightConfiguration",
                 },
             };
             var merged = CustomResourceOptions.Merge(defaultOptions, options);
@@ -250,6 +254,9 @@ public InputList<string> ClientIdsForOidc
         [Input("qAppsConfiguration")]
         public Input<Inputs.ApplicationQAppsConfigurationArgs>? QAppsConfiguration { get; set; }
 
+        [Input("quickSightConfiguration")]
+        public Input<Inputs.ApplicationQuickSightConfigurationArgs>? QuickSightConfiguration { get; set; }
+
         /// <summary>
         /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
         /// </summary>
diff --git a/sdk/dotnet/QBusiness/DataAccessor.cs b/sdk/dotnet/QBusiness/DataAccessor.cs
new file mode 100644
index 0000000000..52c0d8b9b5
--- /dev/null
+++ b/sdk/dotnet/QBusiness/DataAccessor.cs
@@ -0,0 +1,128 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness
+{
+    /// <summary>
+    /// Definition of AWS::QBusiness::DataAccessor Resource Type
+    /// </summary>
+    [AwsNativeResourceType("aws-native:qbusiness:DataAccessor")]
+    public partial class DataAccessor : global::Pulumi.CustomResource
+    {
+        [Output("actionConfigurations")]
+        public Output<ImmutableArray<Outputs.DataAccessorActionConfiguration>> ActionConfigurations { get; private set; } = null!;
+
+        [Output("applicationId")]
+        public Output<string?> ApplicationId { get; private set; } = null!;
+
+        [Output("createdAt")]
+        public Output<string> CreatedAt { get; private set; } = null!;
+
+        [Output("dataAccessorArn")]
+        public Output<string> DataAccessorArn { get; private set; } = null!;
+
+        [Output("dataAccessorId")]
+        public Output<string> DataAccessorId { get; private set; } = null!;
+
+        [Output("displayName")]
+        public Output<string> DisplayName { get; private set; } = null!;
+
+        [Output("idcApplicationArn")]
+        public Output<string> IdcApplicationArn { get; private set; } = null!;
+
+        [Output("principal")]
+        public Output<string> Principal { get; private set; } = null!;
+
+        [Output("tags")]
+        public Output<ImmutableArray<Pulumi.AwsNative.Outputs.Tag>> Tags { get; private set; } = null!;
+
+        [Output("updatedAt")]
+        public Output<string> UpdatedAt { get; private set; } = null!;
+
+
+        /// <summary>
+        /// Create a DataAccessor resource with the given unique name, arguments, and options.
+        /// </summary>
+        ///
+        /// <param name="name">The unique name of the resource</param>
+        /// <param name="args">The arguments used to populate this resource's properties</param>
+        /// <param name="options">A bag of options that control this resource's behavior</param>
+        public DataAccessor(string name, DataAccessorArgs args, CustomResourceOptions? options = null)
+            : base("aws-native:qbusiness:DataAccessor", name, args ?? new DataAccessorArgs(), MakeResourceOptions(options, ""))
+        {
+        }
+
+        private DataAccessor(string name, Input<string> id, CustomResourceOptions? options = null)
+            : base("aws-native:qbusiness:DataAccessor", name, null, MakeResourceOptions(options, id))
+        {
+        }
+
+        private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
+        {
+            var defaultOptions = new CustomResourceOptions
+            {
+                Version = Utilities.Version,
+                ReplaceOnChanges =
+                {
+                    "applicationId",
+                    "principal",
+                },
+            };
+            var merged = CustomResourceOptions.Merge(defaultOptions, options);
+            // Override the ID if one was specified for consistency with other language SDKs.
+            merged.Id = id ?? merged.Id;
+            return merged;
+        }
+        /// <summary>
+        /// Get an existing DataAccessor resource's state with the given name, ID, and optional extra
+        /// properties used to qualify the lookup.
+        /// </summary>
+        ///
+        /// <param name="name">The unique name of the resulting resource.</param>
+        /// <param name="id">The unique provider ID of the resource to lookup.</param>
+        /// <param name="options">A bag of options that control this resource's behavior</param>
+        public static DataAccessor Get(string name, Input<string> id, CustomResourceOptions? options = null)
+        {
+            return new DataAccessor(name, id, options);
+        }
+    }
+
+    public sealed class DataAccessorArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("actionConfigurations", required: true)]
+        private InputList<Inputs.DataAccessorActionConfigurationArgs>? _actionConfigurations;
+        public InputList<Inputs.DataAccessorActionConfigurationArgs> ActionConfigurations
+        {
+            get => _actionConfigurations ?? (_actionConfigurations = new InputList<Inputs.DataAccessorActionConfigurationArgs>());
+            set => _actionConfigurations = value;
+        }
+
+        [Input("applicationId")]
+        public Input<string>? ApplicationId { get; set; }
+
+        [Input("displayName", required: true)]
+        public Input<string> DisplayName { get; set; } = null!;
+
+        [Input("principal", required: true)]
+        public Input<string> Principal { get; set; } = null!;
+
+        [Input("tags")]
+        private InputList<Pulumi.AwsNative.Inputs.TagArgs>? _tags;
+        public InputList<Pulumi.AwsNative.Inputs.TagArgs> Tags
+        {
+            get => _tags ?? (_tags = new InputList<Pulumi.AwsNative.Inputs.TagArgs>());
+            set => _tags = value;
+        }
+
+        public DataAccessorArgs()
+        {
+        }
+        public static new DataAccessorArgs Empty => new DataAccessorArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/DataSource.cs b/sdk/dotnet/QBusiness/DataSource.cs
index 032a6c9384..74566b4ffe 100644
--- a/sdk/dotnet/QBusiness/DataSource.cs
+++ b/sdk/dotnet/QBusiness/DataSource.cs
@@ -83,6 +83,9 @@ public partial class DataSource : global::Pulumi.CustomResource
         [Output("indexId")]
         public Output<string> IndexId { get; private set; } = null!;
 
+        [Output("mediaExtractionConfiguration")]
+        public Output<Outputs.DataSourceMediaExtractionConfiguration?> MediaExtractionConfiguration { get; private set; } = null!;
+
         /// <summary>
         /// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
         /// </summary>
@@ -227,6 +230,9 @@ public sealed class DataSourceArgs : global::Pulumi.ResourceArgs
         [Input("indexId", required: true)]
         public Input<string> IndexId { get; set; } = null!;
 
+        [Input("mediaExtractionConfiguration")]
+        public Input<Inputs.DataSourceMediaExtractionConfigurationArgs>? MediaExtractionConfiguration { get; set; }
+
         /// <summary>
         /// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
         /// </summary>
diff --git a/sdk/dotnet/QBusiness/Enums.cs b/sdk/dotnet/QBusiness/Enums.cs
index 14f949de64..a05dea8dd3 100644
--- a/sdk/dotnet/QBusiness/Enums.cs
+++ b/sdk/dotnet/QBusiness/Enums.cs
@@ -76,6 +76,7 @@ private ApplicationIdentityType(string value)
         public static ApplicationIdentityType AwsIamIdpSaml { get; } = new ApplicationIdentityType("AWS_IAM_IDP_SAML");
         public static ApplicationIdentityType AwsIamIdpOidc { get; } = new ApplicationIdentityType("AWS_IAM_IDP_OIDC");
         public static ApplicationIdentityType AwsIamIdc { get; } = new ApplicationIdentityType("AWS_IAM_IDC");
+        public static ApplicationIdentityType AwsQuicksightIdp { get; } = new ApplicationIdentityType("AWS_QUICKSIGHT_IDP");
 
         public static bool operator ==(ApplicationIdentityType left, ApplicationIdentityType right) => left.Equals(right);
         public static bool operator !=(ApplicationIdentityType left, ApplicationIdentityType right) => !left.Equals(right);
@@ -298,6 +299,34 @@ private DataSourceDocumentEnrichmentConditionOperator(string value)
         public override string ToString() => _value;
     }
 
+    [EnumType]
+    public readonly struct DataSourceImageExtractionStatus : IEquatable<DataSourceImageExtractionStatus>
+    {
+        private readonly string _value;
+
+        private DataSourceImageExtractionStatus(string value)
+        {
+            _value = value ?? throw new ArgumentNullException(nameof(value));
+        }
+
+        public static DataSourceImageExtractionStatus Enabled { get; } = new DataSourceImageExtractionStatus("ENABLED");
+        public static DataSourceImageExtractionStatus Disabled { get; } = new DataSourceImageExtractionStatus("DISABLED");
+
+        public static bool operator ==(DataSourceImageExtractionStatus left, DataSourceImageExtractionStatus right) => left.Equals(right);
+        public static bool operator !=(DataSourceImageExtractionStatus left, DataSourceImageExtractionStatus right) => !left.Equals(right);
+
+        public static explicit operator string(DataSourceImageExtractionStatus value) => value._value;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public override bool Equals(object? obj) => obj is DataSourceImageExtractionStatus other && Equals(other);
+        public bool Equals(DataSourceImageExtractionStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal);
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+
+        public override string ToString() => _value;
+    }
+
     [EnumType]
     public readonly struct DataSourceStatus : IEquatable<DataSourceStatus>
     {
@@ -522,6 +551,18 @@ private PluginType(string value)
         public static PluginType Jira { get; } = new PluginType("JIRA");
         public static PluginType Zendesk { get; } = new PluginType("ZENDESK");
         public static PluginType Custom { get; } = new PluginType("CUSTOM");
+        public static PluginType Quicksight { get; } = new PluginType("QUICKSIGHT");
+        public static PluginType ServicenowNowPlatform { get; } = new PluginType("SERVICENOW_NOW_PLATFORM");
+        public static PluginType JiraCloud { get; } = new PluginType("JIRA_CLOUD");
+        public static PluginType SalesforceCrm { get; } = new PluginType("SALESFORCE_CRM");
+        public static PluginType ZendeskSuite { get; } = new PluginType("ZENDESK_SUITE");
+        public static PluginType AtlassianConfluence { get; } = new PluginType("ATLASSIAN_CONFLUENCE");
+        public static PluginType GoogleCalendar { get; } = new PluginType("GOOGLE_CALENDAR");
+        public static PluginType MicrosoftTeams { get; } = new PluginType("MICROSOFT_TEAMS");
+        public static PluginType MicrosoftExchange { get; } = new PluginType("MICROSOFT_EXCHANGE");
+        public static PluginType PagerdutyAdvance { get; } = new PluginType("PAGERDUTY_ADVANCE");
+        public static PluginType Smartsheet { get; } = new PluginType("SMARTSHEET");
+        public static PluginType Asana { get; } = new PluginType("ASANA");
 
         public static bool operator ==(PluginType left, PluginType right) => left.Equals(right);
         public static bool operator !=(PluginType left, PluginType right) => !left.Equals(right);
diff --git a/sdk/dotnet/QBusiness/GetDataAccessor.cs b/sdk/dotnet/QBusiness/GetDataAccessor.cs
new file mode 100644
index 0000000000..ecab2f0e8e
--- /dev/null
+++ b/sdk/dotnet/QBusiness/GetDataAccessor.cs
@@ -0,0 +1,97 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness
+{
+    public static class GetDataAccessor
+    {
+        /// <summary>
+        /// Definition of AWS::QBusiness::DataAccessor Resource Type
+        /// </summary>
+        public static Task<GetDataAccessorResult> InvokeAsync(GetDataAccessorArgs args, InvokeOptions? options = null)
+            => global::Pulumi.Deployment.Instance.InvokeAsync<GetDataAccessorResult>("aws-native:qbusiness:getDataAccessor", args ?? new GetDataAccessorArgs(), options.WithDefaults());
+
+        /// <summary>
+        /// Definition of AWS::QBusiness::DataAccessor Resource Type
+        /// </summary>
+        public static Output<GetDataAccessorResult> Invoke(GetDataAccessorInvokeArgs args, InvokeOptions? options = null)
+            => global::Pulumi.Deployment.Instance.Invoke<GetDataAccessorResult>("aws-native:qbusiness:getDataAccessor", args ?? new GetDataAccessorInvokeArgs(), options.WithDefaults());
+    }
+
+
+    public sealed class GetDataAccessorArgs : global::Pulumi.InvokeArgs
+    {
+        [Input("applicationId", required: true)]
+        public string ApplicationId { get; set; } = null!;
+
+        [Input("dataAccessorId", required: true)]
+        public string DataAccessorId { get; set; } = null!;
+
+        public GetDataAccessorArgs()
+        {
+        }
+        public static new GetDataAccessorArgs Empty => new GetDataAccessorArgs();
+    }
+
+    public sealed class GetDataAccessorInvokeArgs : global::Pulumi.InvokeArgs
+    {
+        [Input("applicationId", required: true)]
+        public Input<string> ApplicationId { get; set; } = null!;
+
+        [Input("dataAccessorId", required: true)]
+        public Input<string> DataAccessorId { get; set; } = null!;
+
+        public GetDataAccessorInvokeArgs()
+        {
+        }
+        public static new GetDataAccessorInvokeArgs Empty => new GetDataAccessorInvokeArgs();
+    }
+
+
+    [OutputType]
+    public sealed class GetDataAccessorResult
+    {
+        public readonly ImmutableArray<Outputs.DataAccessorActionConfiguration> ActionConfigurations;
+        public readonly string? CreatedAt;
+        public readonly string? DataAccessorArn;
+        public readonly string? DataAccessorId;
+        public readonly string? DisplayName;
+        public readonly string? IdcApplicationArn;
+        public readonly ImmutableArray<Pulumi.AwsNative.Outputs.Tag> Tags;
+        public readonly string? UpdatedAt;
+
+        [OutputConstructor]
+        private GetDataAccessorResult(
+            ImmutableArray<Outputs.DataAccessorActionConfiguration> actionConfigurations,
+
+            string? createdAt,
+
+            string? dataAccessorArn,
+
+            string? dataAccessorId,
+
+            string? displayName,
+
+            string? idcApplicationArn,
+
+            ImmutableArray<Pulumi.AwsNative.Outputs.Tag> tags,
+
+            string? updatedAt)
+        {
+            ActionConfigurations = actionConfigurations;
+            CreatedAt = createdAt;
+            DataAccessorArn = dataAccessorArn;
+            DataAccessorId = dataAccessorId;
+            DisplayName = displayName;
+            IdcApplicationArn = idcApplicationArn;
+            Tags = tags;
+            UpdatedAt = updatedAt;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/GetDataSource.cs b/sdk/dotnet/QBusiness/GetDataSource.cs
index dc6617b3c3..7a835d193a 100644
--- a/sdk/dotnet/QBusiness/GetDataSource.cs
+++ b/sdk/dotnet/QBusiness/GetDataSource.cs
@@ -123,6 +123,7 @@ public sealed class GetDataSourceResult
         /// For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
         /// </summary>
         public readonly Outputs.DataSourceDocumentEnrichmentConfiguration? DocumentEnrichmentConfiguration;
+        public readonly Outputs.DataSourceMediaExtractionConfiguration? MediaExtractionConfiguration;
         /// <summary>
         /// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
         /// </summary>
@@ -170,6 +171,8 @@ private GetDataSourceResult(
 
             Outputs.DataSourceDocumentEnrichmentConfiguration? documentEnrichmentConfiguration,
 
+            Outputs.DataSourceMediaExtractionConfiguration? mediaExtractionConfiguration,
+
             string? roleArn,
 
             Pulumi.AwsNative.QBusiness.DataSourceStatus? status,
@@ -191,6 +194,7 @@ private GetDataSourceResult(
             Description = description;
             DisplayName = displayName;
             DocumentEnrichmentConfiguration = documentEnrichmentConfiguration;
+            MediaExtractionConfiguration = mediaExtractionConfiguration;
             RoleArn = roleArn;
             Status = status;
             SyncSchedule = syncSchedule;
diff --git a/sdk/dotnet/QBusiness/GetWebExperience.cs b/sdk/dotnet/QBusiness/GetWebExperience.cs
index 80a7ead69a..9d57d9e925 100644
--- a/sdk/dotnet/QBusiness/GetWebExperience.cs
+++ b/sdk/dotnet/QBusiness/GetWebExperience.cs
@@ -73,6 +73,7 @@ public sealed class GetWebExperienceResult
         /// The Unix timestamp when the Amazon Q Business application was last updated.
         /// </summary>
         public readonly string? CreatedAt;
+        public readonly Outputs.WebExperienceCustomizationConfiguration? CustomizationConfiguration;
         /// <summary>
         /// The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
         /// </summary>
@@ -134,6 +135,8 @@ public sealed class GetWebExperienceResult
         private GetWebExperienceResult(
             string? createdAt,
 
+            Outputs.WebExperienceCustomizationConfiguration? customizationConfiguration,
+
             string? defaultEndpoint,
 
             Union<Outputs.WebExperienceIdentityProviderConfiguration0Properties, Outputs.WebExperienceIdentityProviderConfiguration1Properties>? identityProviderConfiguration,
@@ -161,6 +164,7 @@ private GetWebExperienceResult(
             string? welcomeMessage)
         {
             CreatedAt = createdAt;
+            CustomizationConfiguration = customizationConfiguration;
             DefaultEndpoint = defaultEndpoint;
             IdentityProviderConfiguration = identityProviderConfiguration;
             Origins = origins;
diff --git a/sdk/dotnet/QBusiness/Inputs/ApplicationQuickSightConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/ApplicationQuickSightConfigurationArgs.cs
new file mode 100644
index 0000000000..496680b389
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/ApplicationQuickSightConfigurationArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class ApplicationQuickSightConfigurationArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("clientNamespace", required: true)]
+        public Input<string> ClientNamespace { get; set; } = null!;
+
+        public ApplicationQuickSightConfigurationArgs()
+        {
+        }
+        public static new ApplicationQuickSightConfigurationArgs Empty => new ApplicationQuickSightConfigurationArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorActionConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorActionConfigurationArgs.cs
new file mode 100644
index 0000000000..f8c0797626
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorActionConfigurationArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorActionConfigurationArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("action", required: true)]
+        public Input<string> Action { get; set; } = null!;
+
+        [Input("filterConfiguration")]
+        public Input<Inputs.DataAccessorActionFilterConfigurationArgs>? FilterConfiguration { get; set; }
+
+        public DataAccessorActionConfigurationArgs()
+        {
+        }
+        public static new DataAccessorActionConfigurationArgs Empty => new DataAccessorActionConfigurationArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorActionFilterConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorActionFilterConfigurationArgs.cs
new file mode 100644
index 0000000000..1452741c33
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorActionFilterConfigurationArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorActionFilterConfigurationArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("documentAttributeFilter", required: true)]
+        public Input<Inputs.DataAccessorAttributeFilterArgs> DocumentAttributeFilter { get; set; } = null!;
+
+        public DataAccessorActionFilterConfigurationArgs()
+        {
+        }
+        public static new DataAccessorActionFilterConfigurationArgs Empty => new DataAccessorActionFilterConfigurationArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorAttributeFilterArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorAttributeFilterArgs.cs
new file mode 100644
index 0000000000..07ff54464f
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorAttributeFilterArgs.cs
@@ -0,0 +1,60 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorAttributeFilterArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("andAllFilters")]
+        private InputList<Inputs.DataAccessorAttributeFilterArgs>? _andAllFilters;
+        public InputList<Inputs.DataAccessorAttributeFilterArgs> AndAllFilters
+        {
+            get => _andAllFilters ?? (_andAllFilters = new InputList<Inputs.DataAccessorAttributeFilterArgs>());
+            set => _andAllFilters = value;
+        }
+
+        [Input("containsAll")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? ContainsAll { get; set; }
+
+        [Input("containsAny")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? ContainsAny { get; set; }
+
+        [Input("equalsTo")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? EqualsTo { get; set; }
+
+        [Input("greaterThan")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? GreaterThan { get; set; }
+
+        [Input("greaterThanOrEquals")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? GreaterThanOrEquals { get; set; }
+
+        [Input("lessThan")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? LessThan { get; set; }
+
+        [Input("lessThanOrEquals")]
+        public Input<Inputs.DataAccessorDocumentAttributeArgs>? LessThanOrEquals { get; set; }
+
+        [Input("notFilter")]
+        public Input<Inputs.DataAccessorAttributeFilterArgs>? NotFilter { get; set; }
+
+        [Input("orAllFilters")]
+        private InputList<Inputs.DataAccessorAttributeFilterArgs>? _orAllFilters;
+        public InputList<Inputs.DataAccessorAttributeFilterArgs> OrAllFilters
+        {
+            get => _orAllFilters ?? (_orAllFilters = new InputList<Inputs.DataAccessorAttributeFilterArgs>());
+            set => _orAllFilters = value;
+        }
+
+        public DataAccessorAttributeFilterArgs()
+        {
+        }
+        public static new DataAccessorAttributeFilterArgs Empty => new DataAccessorAttributeFilterArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeArgs.cs
new file mode 100644
index 0000000000..300fba7d87
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorDocumentAttributeArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("name", required: true)]
+        public Input<string> Name { get; set; } = null!;
+
+        [Input("value", required: true)]
+        public object Value { get; set; } = null!;
+
+        public DataAccessorDocumentAttributeArgs()
+        {
+        }
+        public static new DataAccessorDocumentAttributeArgs Empty => new DataAccessorDocumentAttributeArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue0PropertiesArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue0PropertiesArgs.cs
new file mode 100644
index 0000000000..8dd739f7fb
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue0PropertiesArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorDocumentAttributeValue0PropertiesArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("stringValue", required: true)]
+        public Input<string> StringValue { get; set; } = null!;
+
+        public DataAccessorDocumentAttributeValue0PropertiesArgs()
+        {
+        }
+        public static new DataAccessorDocumentAttributeValue0PropertiesArgs Empty => new DataAccessorDocumentAttributeValue0PropertiesArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue1PropertiesArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue1PropertiesArgs.cs
new file mode 100644
index 0000000000..2b87c06750
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue1PropertiesArgs.cs
@@ -0,0 +1,28 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorDocumentAttributeValue1PropertiesArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("stringListValue", required: true)]
+        private InputList<string>? _stringListValue;
+        public InputList<string> StringListValue
+        {
+            get => _stringListValue ?? (_stringListValue = new InputList<string>());
+            set => _stringListValue = value;
+        }
+
+        public DataAccessorDocumentAttributeValue1PropertiesArgs()
+        {
+        }
+        public static new DataAccessorDocumentAttributeValue1PropertiesArgs Empty => new DataAccessorDocumentAttributeValue1PropertiesArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue2PropertiesArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue2PropertiesArgs.cs
new file mode 100644
index 0000000000..f18ac5642b
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue2PropertiesArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorDocumentAttributeValue2PropertiesArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("longValue", required: true)]
+        public Input<double> LongValue { get; set; } = null!;
+
+        public DataAccessorDocumentAttributeValue2PropertiesArgs()
+        {
+        }
+        public static new DataAccessorDocumentAttributeValue2PropertiesArgs Empty => new DataAccessorDocumentAttributeValue2PropertiesArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue3PropertiesArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue3PropertiesArgs.cs
new file mode 100644
index 0000000000..3beb4dc142
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataAccessorDocumentAttributeValue3PropertiesArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataAccessorDocumentAttributeValue3PropertiesArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("dateValue", required: true)]
+        public Input<string> DateValue { get; set; } = null!;
+
+        public DataAccessorDocumentAttributeValue3PropertiesArgs()
+        {
+        }
+        public static new DataAccessorDocumentAttributeValue3PropertiesArgs Empty => new DataAccessorDocumentAttributeValue3PropertiesArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataSourceImageExtractionConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataSourceImageExtractionConfigurationArgs.cs
new file mode 100644
index 0000000000..fb9e426478
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataSourceImageExtractionConfigurationArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataSourceImageExtractionConfigurationArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("imageExtractionStatus", required: true)]
+        public Input<Pulumi.AwsNative.QBusiness.DataSourceImageExtractionStatus> ImageExtractionStatus { get; set; } = null!;
+
+        public DataSourceImageExtractionConfigurationArgs()
+        {
+        }
+        public static new DataSourceImageExtractionConfigurationArgs Empty => new DataSourceImageExtractionConfigurationArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/DataSourceMediaExtractionConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/DataSourceMediaExtractionConfigurationArgs.cs
new file mode 100644
index 0000000000..2ab6cf1dd1
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/DataSourceMediaExtractionConfigurationArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class DataSourceMediaExtractionConfigurationArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("imageExtractionConfiguration")]
+        public Input<Inputs.DataSourceImageExtractionConfigurationArgs>? ImageExtractionConfiguration { get; set; }
+
+        public DataSourceMediaExtractionConfigurationArgs()
+        {
+        }
+        public static new DataSourceMediaExtractionConfigurationArgs Empty => new DataSourceMediaExtractionConfigurationArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Inputs/PluginOAuth2ClientCredentialConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/PluginOAuth2ClientCredentialConfigurationArgs.cs
index 263294f664..a7a35cccc6 100644
--- a/sdk/dotnet/QBusiness/Inputs/PluginOAuth2ClientCredentialConfigurationArgs.cs
+++ b/sdk/dotnet/QBusiness/Inputs/PluginOAuth2ClientCredentialConfigurationArgs.cs
@@ -12,12 +12,18 @@ namespace Pulumi.AwsNative.QBusiness.Inputs
 
     public sealed class PluginOAuth2ClientCredentialConfigurationArgs : global::Pulumi.ResourceArgs
     {
+        [Input("authorizationUrl")]
+        public Input<string>? AuthorizationUrl { get; set; }
+
         [Input("roleArn", required: true)]
         public Input<string> RoleArn { get; set; } = null!;
 
         [Input("secretArn", required: true)]
         public Input<string> SecretArn { get; set; } = null!;
 
+        [Input("tokenUrl")]
+        public Input<string>? TokenUrl { get; set; }
+
         public PluginOAuth2ClientCredentialConfigurationArgs()
         {
         }
diff --git a/sdk/dotnet/QBusiness/Inputs/WebExperienceCustomizationConfigurationArgs.cs b/sdk/dotnet/QBusiness/Inputs/WebExperienceCustomizationConfigurationArgs.cs
new file mode 100644
index 0000000000..30043de18c
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Inputs/WebExperienceCustomizationConfigurationArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Inputs
+{
+
+    public sealed class WebExperienceCustomizationConfigurationArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("customCssUrl")]
+        public Input<string>? CustomCssUrl { get; set; }
+
+        [Input("faviconUrl")]
+        public Input<string>? FaviconUrl { get; set; }
+
+        [Input("fontUrl")]
+        public Input<string>? FontUrl { get; set; }
+
+        [Input("logoUrl")]
+        public Input<string>? LogoUrl { get; set; }
+
+        public WebExperienceCustomizationConfigurationArgs()
+        {
+        }
+        public static new WebExperienceCustomizationConfigurationArgs Empty => new WebExperienceCustomizationConfigurationArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/ApplicationQuickSightConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/ApplicationQuickSightConfiguration.cs
new file mode 100644
index 0000000000..dc1fc9190b
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/ApplicationQuickSightConfiguration.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class ApplicationQuickSightConfiguration
+    {
+        public readonly string ClientNamespace;
+
+        [OutputConstructor]
+        private ApplicationQuickSightConfiguration(string clientNamespace)
+        {
+            ClientNamespace = clientNamespace;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorActionConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorActionConfiguration.cs
new file mode 100644
index 0000000000..2a21025cf3
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorActionConfiguration.cs
@@ -0,0 +1,29 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorActionConfiguration
+    {
+        public readonly string Action;
+        public readonly Outputs.DataAccessorActionFilterConfiguration? FilterConfiguration;
+
+        [OutputConstructor]
+        private DataAccessorActionConfiguration(
+            string action,
+
+            Outputs.DataAccessorActionFilterConfiguration? filterConfiguration)
+        {
+            Action = action;
+            FilterConfiguration = filterConfiguration;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorActionFilterConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorActionFilterConfiguration.cs
new file mode 100644
index 0000000000..2de0912206
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorActionFilterConfiguration.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorActionFilterConfiguration
+    {
+        public readonly Outputs.DataAccessorAttributeFilter DocumentAttributeFilter;
+
+        [OutputConstructor]
+        private DataAccessorActionFilterConfiguration(Outputs.DataAccessorAttributeFilter documentAttributeFilter)
+        {
+            DocumentAttributeFilter = documentAttributeFilter;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorAttributeFilter.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorAttributeFilter.cs
new file mode 100644
index 0000000000..73ff52aa33
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorAttributeFilter.cs
@@ -0,0 +1,61 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorAttributeFilter
+    {
+        public readonly ImmutableArray<Outputs.DataAccessorAttributeFilter> AndAllFilters;
+        public readonly Outputs.DataAccessorDocumentAttribute? ContainsAll;
+        public readonly Outputs.DataAccessorDocumentAttribute? ContainsAny;
+        public readonly Outputs.DataAccessorDocumentAttribute? EqualsTo;
+        public readonly Outputs.DataAccessorDocumentAttribute? GreaterThan;
+        public readonly Outputs.DataAccessorDocumentAttribute? GreaterThanOrEquals;
+        public readonly Outputs.DataAccessorDocumentAttribute? LessThan;
+        public readonly Outputs.DataAccessorDocumentAttribute? LessThanOrEquals;
+        public readonly Outputs.DataAccessorAttributeFilter? NotFilter;
+        public readonly ImmutableArray<Outputs.DataAccessorAttributeFilter> OrAllFilters;
+
+        [OutputConstructor]
+        private DataAccessorAttributeFilter(
+            ImmutableArray<Outputs.DataAccessorAttributeFilter> andAllFilters,
+
+            Outputs.DataAccessorDocumentAttribute? containsAll,
+
+            Outputs.DataAccessorDocumentAttribute? containsAny,
+
+            Outputs.DataAccessorDocumentAttribute? equalsTo,
+
+            Outputs.DataAccessorDocumentAttribute? greaterThan,
+
+            Outputs.DataAccessorDocumentAttribute? greaterThanOrEquals,
+
+            Outputs.DataAccessorDocumentAttribute? lessThan,
+
+            Outputs.DataAccessorDocumentAttribute? lessThanOrEquals,
+
+            Outputs.DataAccessorAttributeFilter? notFilter,
+
+            ImmutableArray<Outputs.DataAccessorAttributeFilter> orAllFilters)
+        {
+            AndAllFilters = andAllFilters;
+            ContainsAll = containsAll;
+            ContainsAny = containsAny;
+            EqualsTo = equalsTo;
+            GreaterThan = greaterThan;
+            GreaterThanOrEquals = greaterThanOrEquals;
+            LessThan = lessThan;
+            LessThanOrEquals = lessThanOrEquals;
+            NotFilter = notFilter;
+            OrAllFilters = orAllFilters;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttribute.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttribute.cs
new file mode 100644
index 0000000000..737519c92d
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttribute.cs
@@ -0,0 +1,29 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorDocumentAttribute
+    {
+        public readonly string Name;
+        public readonly object Value;
+
+        [OutputConstructor]
+        private DataAccessorDocumentAttribute(
+            string name,
+
+            object value)
+        {
+            Name = name;
+            Value = value;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue0Properties.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue0Properties.cs
new file mode 100644
index 0000000000..ef55b2ff50
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue0Properties.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorDocumentAttributeValue0Properties
+    {
+        public readonly string StringValue;
+
+        [OutputConstructor]
+        private DataAccessorDocumentAttributeValue0Properties(string stringValue)
+        {
+            StringValue = stringValue;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue1Properties.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue1Properties.cs
new file mode 100644
index 0000000000..a3ab4f9355
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue1Properties.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorDocumentAttributeValue1Properties
+    {
+        public readonly ImmutableArray<string> StringListValue;
+
+        [OutputConstructor]
+        private DataAccessorDocumentAttributeValue1Properties(ImmutableArray<string> stringListValue)
+        {
+            StringListValue = stringListValue;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue2Properties.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue2Properties.cs
new file mode 100644
index 0000000000..76f16d7aab
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue2Properties.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorDocumentAttributeValue2Properties
+    {
+        public readonly double LongValue;
+
+        [OutputConstructor]
+        private DataAccessorDocumentAttributeValue2Properties(double longValue)
+        {
+            LongValue = longValue;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue3Properties.cs b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue3Properties.cs
new file mode 100644
index 0000000000..d85d2f9ff3
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataAccessorDocumentAttributeValue3Properties.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataAccessorDocumentAttributeValue3Properties
+    {
+        public readonly string DateValue;
+
+        [OutputConstructor]
+        private DataAccessorDocumentAttributeValue3Properties(string dateValue)
+        {
+            DateValue = dateValue;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataSourceImageExtractionConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/DataSourceImageExtractionConfiguration.cs
new file mode 100644
index 0000000000..0b225e9066
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataSourceImageExtractionConfiguration.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataSourceImageExtractionConfiguration
+    {
+        public readonly Pulumi.AwsNative.QBusiness.DataSourceImageExtractionStatus ImageExtractionStatus;
+
+        [OutputConstructor]
+        private DataSourceImageExtractionConfiguration(Pulumi.AwsNative.QBusiness.DataSourceImageExtractionStatus imageExtractionStatus)
+        {
+            ImageExtractionStatus = imageExtractionStatus;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/DataSourceMediaExtractionConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/DataSourceMediaExtractionConfiguration.cs
new file mode 100644
index 0000000000..9309840405
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/DataSourceMediaExtractionConfiguration.cs
@@ -0,0 +1,24 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class DataSourceMediaExtractionConfiguration
+    {
+        public readonly Outputs.DataSourceImageExtractionConfiguration? ImageExtractionConfiguration;
+
+        [OutputConstructor]
+        private DataSourceMediaExtractionConfiguration(Outputs.DataSourceImageExtractionConfiguration? imageExtractionConfiguration)
+        {
+            ImageExtractionConfiguration = imageExtractionConfiguration;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Outputs/PluginOAuth2ClientCredentialConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/PluginOAuth2ClientCredentialConfiguration.cs
index 846f997ad8..3608103d6a 100644
--- a/sdk/dotnet/QBusiness/Outputs/PluginOAuth2ClientCredentialConfiguration.cs
+++ b/sdk/dotnet/QBusiness/Outputs/PluginOAuth2ClientCredentialConfiguration.cs
@@ -13,17 +13,25 @@ namespace Pulumi.AwsNative.QBusiness.Outputs
     [OutputType]
     public sealed class PluginOAuth2ClientCredentialConfiguration
     {
+        public readonly string? AuthorizationUrl;
         public readonly string RoleArn;
         public readonly string SecretArn;
+        public readonly string? TokenUrl;
 
         [OutputConstructor]
         private PluginOAuth2ClientCredentialConfiguration(
+            string? authorizationUrl,
+
             string roleArn,
 
-            string secretArn)
+            string secretArn,
+
+            string? tokenUrl)
         {
+            AuthorizationUrl = authorizationUrl;
             RoleArn = roleArn;
             SecretArn = secretArn;
+            TokenUrl = tokenUrl;
         }
     }
 }
diff --git a/sdk/dotnet/QBusiness/Outputs/WebExperienceCustomizationConfiguration.cs b/sdk/dotnet/QBusiness/Outputs/WebExperienceCustomizationConfiguration.cs
new file mode 100644
index 0000000000..1865d9cd91
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Outputs/WebExperienceCustomizationConfiguration.cs
@@ -0,0 +1,37 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness.Outputs
+{
+
+    [OutputType]
+    public sealed class WebExperienceCustomizationConfiguration
+    {
+        public readonly string? CustomCssUrl;
+        public readonly string? FaviconUrl;
+        public readonly string? FontUrl;
+        public readonly string? LogoUrl;
+
+        [OutputConstructor]
+        private WebExperienceCustomizationConfiguration(
+            string? customCssUrl,
+
+            string? faviconUrl,
+
+            string? fontUrl,
+
+            string? logoUrl)
+        {
+            CustomCssUrl = customCssUrl;
+            FaviconUrl = faviconUrl;
+            FontUrl = fontUrl;
+            LogoUrl = logoUrl;
+        }
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Permission.cs b/sdk/dotnet/QBusiness/Permission.cs
new file mode 100644
index 0000000000..0d4ab8f348
--- /dev/null
+++ b/sdk/dotnet/QBusiness/Permission.cs
@@ -0,0 +1,104 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.QBusiness
+{
+    /// <summary>
+    /// Definition of AWS::QBusiness::Permission Resource Type
+    /// </summary>
+    [AwsNativeResourceType("aws-native:qbusiness:Permission")]
+    public partial class Permission : global::Pulumi.CustomResource
+    {
+        [Output("actions")]
+        public Output<ImmutableArray<string>> Actions { get; private set; } = null!;
+
+        [Output("applicationId")]
+        public Output<string> ApplicationId { get; private set; } = null!;
+
+        [Output("principal")]
+        public Output<string> Principal { get; private set; } = null!;
+
+        [Output("statementId")]
+        public Output<string> StatementId { get; private set; } = null!;
+
+
+        /// <summary>
+        /// Create a Permission resource with the given unique name, arguments, and options.
+        /// </summary>
+        ///
+        /// <param name="name">The unique name of the resource</param>
+        /// <param name="args">The arguments used to populate this resource's properties</param>
+        /// <param name="options">A bag of options that control this resource's behavior</param>
+        public Permission(string name, PermissionArgs args, CustomResourceOptions? options = null)
+            : base("aws-native:qbusiness:Permission", name, args ?? new PermissionArgs(), MakeResourceOptions(options, ""))
+        {
+        }
+
+        private Permission(string name, Input<string> id, CustomResourceOptions? options = null)
+            : base("aws-native:qbusiness:Permission", name, null, MakeResourceOptions(options, id))
+        {
+        }
+
+        private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
+        {
+            var defaultOptions = new CustomResourceOptions
+            {
+                Version = Utilities.Version,
+                ReplaceOnChanges =
+                {
+                    "actions[*]",
+                    "applicationId",
+                    "principal",
+                    "statementId",
+                },
+            };
+            var merged = CustomResourceOptions.Merge(defaultOptions, options);
+            // Override the ID if one was specified for consistency with other language SDKs.
+            merged.Id = id ?? merged.Id;
+            return merged;
+        }
+        /// <summary>
+        /// Get an existing Permission resource's state with the given name, ID, and optional extra
+        /// properties used to qualify the lookup.
+        /// </summary>
+        ///
+        /// <param name="name">The unique name of the resulting resource.</param>
+        /// <param name="id">The unique provider ID of the resource to lookup.</param>
+        /// <param name="options">A bag of options that control this resource's behavior</param>
+        public static Permission Get(string name, Input<string> id, CustomResourceOptions? options = null)
+        {
+            return new Permission(name, id, options);
+        }
+    }
+
+    public sealed class PermissionArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("actions", required: true)]
+        private InputList<string>? _actions;
+        public InputList<string> Actions
+        {
+            get => _actions ?? (_actions = new InputList<string>());
+            set => _actions = value;
+        }
+
+        [Input("applicationId", required: true)]
+        public Input<string> ApplicationId { get; set; } = null!;
+
+        [Input("principal", required: true)]
+        public Input<string> Principal { get; set; } = null!;
+
+        [Input("statementId", required: true)]
+        public Input<string> StatementId { get; set; } = null!;
+
+        public PermissionArgs()
+        {
+        }
+        public static new PermissionArgs Empty => new PermissionArgs();
+    }
+}
diff --git a/sdk/dotnet/QBusiness/Plugin.cs b/sdk/dotnet/QBusiness/Plugin.cs
index 8343b36f13..d2a4dfbac1 100644
--- a/sdk/dotnet/QBusiness/Plugin.cs
+++ b/sdk/dotnet/QBusiness/Plugin.cs
@@ -19,7 +19,7 @@ public partial class Plugin : global::Pulumi.CustomResource
         /// The identifier of the application that will contain the plugin.
         /// </summary>
         [Output("applicationId")]
-        public Output<string> ApplicationId { get; private set; } = null!;
+        public Output<string?> ApplicationId { get; private set; } = null!;
 
         /// <summary>
         /// Authentication configuration information for an Amazon Q Business plugin.
@@ -146,8 +146,8 @@ public sealed class PluginArgs : global::Pulumi.ResourceArgs
         /// <summary>
         /// The identifier of the application that will contain the plugin.
         /// </summary>
-        [Input("applicationId", required: true)]
-        public Input<string> ApplicationId { get; set; } = null!;
+        [Input("applicationId")]
+        public Input<string>? ApplicationId { get; set; }
 
         /// <summary>
         /// Authentication configuration information for an Amazon Q Business plugin.
diff --git a/sdk/dotnet/QBusiness/WebExperience.cs b/sdk/dotnet/QBusiness/WebExperience.cs
index f5258d90d5..5fd3f78a7c 100644
--- a/sdk/dotnet/QBusiness/WebExperience.cs
+++ b/sdk/dotnet/QBusiness/WebExperience.cs
@@ -27,6 +27,9 @@ public partial class WebExperience : global::Pulumi.CustomResource
         [Output("createdAt")]
         public Output<string> CreatedAt { get; private set; } = null!;
 
+        [Output("customizationConfiguration")]
+        public Output<Outputs.WebExperienceCustomizationConfiguration?> CustomizationConfiguration { get; private set; } = null!;
+
         /// <summary>
         /// The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
         /// </summary>
@@ -164,6 +167,9 @@ public sealed class WebExperienceArgs : global::Pulumi.ResourceArgs
         [Input("applicationId", required: true)]
         public Input<string> ApplicationId { get; set; } = null!;
 
+        [Input("customizationConfiguration")]
+        public Input<Inputs.WebExperienceCustomizationConfigurationArgs>? CustomizationConfiguration { get; set; }
+
         /// <summary>
         /// Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
         /// </summary>
diff --git a/sdk/dotnet/SageMaker/Enums.cs b/sdk/dotnet/SageMaker/Enums.cs
index a6d5e3483c..927c82d055 100644
--- a/sdk/dotnet/SageMaker/Enums.cs
+++ b/sdk/dotnet/SageMaker/Enums.cs
@@ -2856,6 +2856,69 @@ private MonitoringScheduleStatus(string value)
         public override string ToString() => _value;
     }
 
+    /// <summary>
+    /// The Auth type of PartnerApp.
+    /// </summary>
+    [EnumType]
+    public readonly struct PartnerAppAuthType : IEquatable<PartnerAppAuthType>
+    {
+        private readonly string _value;
+
+        private PartnerAppAuthType(string value)
+        {
+            _value = value ?? throw new ArgumentNullException(nameof(value));
+        }
+
+        public static PartnerAppAuthType Iam { get; } = new PartnerAppAuthType("IAM");
+
+        public static bool operator ==(PartnerAppAuthType left, PartnerAppAuthType right) => left.Equals(right);
+        public static bool operator !=(PartnerAppAuthType left, PartnerAppAuthType right) => !left.Equals(right);
+
+        public static explicit operator string(PartnerAppAuthType value) => value._value;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public override bool Equals(object? obj) => obj is PartnerAppAuthType other && Equals(other);
+        public bool Equals(PartnerAppAuthType other) => string.Equals(_value, other._value, StringComparison.Ordinal);
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+
+        public override string ToString() => _value;
+    }
+
+    /// <summary>
+    /// The type of PartnerApp.
+    /// </summary>
+    [EnumType]
+    public readonly struct PartnerAppType : IEquatable<PartnerAppType>
+    {
+        private readonly string _value;
+
+        private PartnerAppType(string value)
+        {
+            _value = value ?? throw new ArgumentNullException(nameof(value));
+        }
+
+        public static PartnerAppType LakeraGuard { get; } = new PartnerAppType("lakera-guard");
+        public static PartnerAppType Comet { get; } = new PartnerAppType("comet");
+        public static PartnerAppType DeepchecksLlmEvaluation { get; } = new PartnerAppType("deepchecks-llm-evaluation");
+        public static PartnerAppType Fiddler { get; } = new PartnerAppType("fiddler");
+
+        public static bool operator ==(PartnerAppType left, PartnerAppType right) => left.Equals(right);
+        public static bool operator !=(PartnerAppType left, PartnerAppType right) => !left.Equals(right);
+
+        public static explicit operator string(PartnerAppType value) => value._value;
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public override bool Equals(object? obj) => obj is PartnerAppType other && Equals(other);
+        public bool Equals(PartnerAppType other) => string.Equals(_value, other._value, StringComparison.Ordinal);
+
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public override int GetHashCode() => _value?.GetHashCode() ?? 0;
+
+        public override string ToString() => _value;
+    }
+
     /// <summary>
     /// The status of a project.
     /// </summary>
diff --git a/sdk/dotnet/SageMaker/GetPartnerApp.cs b/sdk/dotnet/SageMaker/GetPartnerApp.cs
new file mode 100644
index 0000000000..522cb37527
--- /dev/null
+++ b/sdk/dotnet/SageMaker/GetPartnerApp.cs
@@ -0,0 +1,114 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.SageMaker
+{
+    public static class GetPartnerApp
+    {
+        /// <summary>
+        /// Resource Type definition for AWS::SageMaker::PartnerApp
+        /// </summary>
+        public static Task<GetPartnerAppResult> InvokeAsync(GetPartnerAppArgs args, InvokeOptions? options = null)
+            => global::Pulumi.Deployment.Instance.InvokeAsync<GetPartnerAppResult>("aws-native:sagemaker:getPartnerApp", args ?? new GetPartnerAppArgs(), options.WithDefaults());
+
+        /// <summary>
+        /// Resource Type definition for AWS::SageMaker::PartnerApp
+        /// </summary>
+        public static Output<GetPartnerAppResult> Invoke(GetPartnerAppInvokeArgs args, InvokeOptions? options = null)
+            => global::Pulumi.Deployment.Instance.Invoke<GetPartnerAppResult>("aws-native:sagemaker:getPartnerApp", args ?? new GetPartnerAppInvokeArgs(), options.WithDefaults());
+    }
+
+
+    public sealed class GetPartnerAppArgs : global::Pulumi.InvokeArgs
+    {
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the created PartnerApp.
+        /// </summary>
+        [Input("arn", required: true)]
+        public string Arn { get; set; } = null!;
+
+        public GetPartnerAppArgs()
+        {
+        }
+        public static new GetPartnerAppArgs Empty => new GetPartnerAppArgs();
+    }
+
+    public sealed class GetPartnerAppInvokeArgs : global::Pulumi.InvokeArgs
+    {
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the created PartnerApp.
+        /// </summary>
+        [Input("arn", required: true)]
+        public Input<string> Arn { get; set; } = null!;
+
+        public GetPartnerAppInvokeArgs()
+        {
+        }
+        public static new GetPartnerAppInvokeArgs Empty => new GetPartnerAppInvokeArgs();
+    }
+
+
+    [OutputType]
+    public sealed class GetPartnerAppResult
+    {
+        /// <summary>
+        /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+        /// </summary>
+        public readonly Outputs.PartnerAppConfig? ApplicationConfig;
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the created PartnerApp.
+        /// </summary>
+        public readonly string? Arn;
+        /// <summary>
+        /// The AppServerUrl based on app and account-info.
+        /// </summary>
+        public readonly string? BaseUrl;
+        /// <summary>
+        /// Enables IAM Session based Identity for PartnerApp.
+        /// </summary>
+        public readonly bool? EnableIamSessionBasedIdentity;
+        /// <summary>
+        /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+        /// </summary>
+        public readonly Outputs.PartnerAppMaintenanceConfig? MaintenanceConfig;
+        /// <summary>
+        /// A list of tags to apply to the PartnerApp.
+        /// </summary>
+        public readonly ImmutableArray<Pulumi.AwsNative.Outputs.Tag> Tags;
+        /// <summary>
+        /// The tier of the PartnerApp.
+        /// </summary>
+        public readonly string? Tier;
+
+        [OutputConstructor]
+        private GetPartnerAppResult(
+            Outputs.PartnerAppConfig? applicationConfig,
+
+            string? arn,
+
+            string? baseUrl,
+
+            bool? enableIamSessionBasedIdentity,
+
+            Outputs.PartnerAppMaintenanceConfig? maintenanceConfig,
+
+            ImmutableArray<Pulumi.AwsNative.Outputs.Tag> tags,
+
+            string? tier)
+        {
+            ApplicationConfig = applicationConfig;
+            Arn = arn;
+            BaseUrl = baseUrl;
+            EnableIamSessionBasedIdentity = enableIamSessionBasedIdentity;
+            MaintenanceConfig = maintenanceConfig;
+            Tags = tags;
+            Tier = tier;
+        }
+    }
+}
diff --git a/sdk/dotnet/SageMaker/Inputs/PartnerAppConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/PartnerAppConfigArgs.cs
new file mode 100644
index 0000000000..bb68680fbd
--- /dev/null
+++ b/sdk/dotnet/SageMaker/Inputs/PartnerAppConfigArgs.cs
@@ -0,0 +1,47 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.SageMaker.Inputs
+{
+
+    /// <summary>
+    /// A collection of configuration settings for the PartnerApp.
+    /// </summary>
+    public sealed class PartnerAppConfigArgs : global::Pulumi.ResourceArgs
+    {
+        [Input("adminUsers")]
+        private InputList<string>? _adminUsers;
+
+        /// <summary>
+        /// A list of users with administrator privileges for the PartnerApp.
+        /// </summary>
+        public InputList<string> AdminUsers
+        {
+            get => _adminUsers ?? (_adminUsers = new InputList<string>());
+            set => _adminUsers = value;
+        }
+
+        [Input("arguments")]
+        private InputMap<string>? _arguments;
+
+        /// <summary>
+        /// A list of arguments to pass to the PartnerApp.
+        /// </summary>
+        public InputMap<string> Arguments
+        {
+            get => _arguments ?? (_arguments = new InputMap<string>());
+            set => _arguments = value;
+        }
+
+        public PartnerAppConfigArgs()
+        {
+        }
+        public static new PartnerAppConfigArgs Empty => new PartnerAppConfigArgs();
+    }
+}
diff --git a/sdk/dotnet/SageMaker/Inputs/PartnerAppMaintenanceConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/PartnerAppMaintenanceConfigArgs.cs
new file mode 100644
index 0000000000..3766b95dd3
--- /dev/null
+++ b/sdk/dotnet/SageMaker/Inputs/PartnerAppMaintenanceConfigArgs.cs
@@ -0,0 +1,29 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.SageMaker.Inputs
+{
+
+    /// <summary>
+    /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+    /// </summary>
+    public sealed class PartnerAppMaintenanceConfigArgs : global::Pulumi.ResourceArgs
+    {
+        /// <summary>
+        /// The maintenance window start day and time for the PartnerApp.
+        /// </summary>
+        [Input("maintenanceWindowStart", required: true)]
+        public Input<string> MaintenanceWindowStart { get; set; } = null!;
+
+        public PartnerAppMaintenanceConfigArgs()
+        {
+        }
+        public static new PartnerAppMaintenanceConfigArgs Empty => new PartnerAppMaintenanceConfigArgs();
+    }
+}
diff --git a/sdk/dotnet/SageMaker/Outputs/PartnerAppConfig.cs b/sdk/dotnet/SageMaker/Outputs/PartnerAppConfig.cs
new file mode 100644
index 0000000000..fad00caef2
--- /dev/null
+++ b/sdk/dotnet/SageMaker/Outputs/PartnerAppConfig.cs
@@ -0,0 +1,38 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.SageMaker.Outputs
+{
+
+    /// <summary>
+    /// A collection of configuration settings for the PartnerApp.
+    /// </summary>
+    [OutputType]
+    public sealed class PartnerAppConfig
+    {
+        /// <summary>
+        /// A list of users with administrator privileges for the PartnerApp.
+        /// </summary>
+        public readonly ImmutableArray<string> AdminUsers;
+        /// <summary>
+        /// A list of arguments to pass to the PartnerApp.
+        /// </summary>
+        public readonly ImmutableDictionary<string, string>? Arguments;
+
+        [OutputConstructor]
+        private PartnerAppConfig(
+            ImmutableArray<string> adminUsers,
+
+            ImmutableDictionary<string, string>? arguments)
+        {
+            AdminUsers = adminUsers;
+            Arguments = arguments;
+        }
+    }
+}
diff --git a/sdk/dotnet/SageMaker/Outputs/PartnerAppMaintenanceConfig.cs b/sdk/dotnet/SageMaker/Outputs/PartnerAppMaintenanceConfig.cs
new file mode 100644
index 0000000000..43b1ddfb8b
--- /dev/null
+++ b/sdk/dotnet/SageMaker/Outputs/PartnerAppMaintenanceConfig.cs
@@ -0,0 +1,30 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.SageMaker.Outputs
+{
+
+    /// <summary>
+    /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+    /// </summary>
+    [OutputType]
+    public sealed class PartnerAppMaintenanceConfig
+    {
+        /// <summary>
+        /// The maintenance window start day and time for the PartnerApp.
+        /// </summary>
+        public readonly string MaintenanceWindowStart;
+
+        [OutputConstructor]
+        private PartnerAppMaintenanceConfig(string maintenanceWindowStart)
+        {
+            MaintenanceWindowStart = maintenanceWindowStart;
+        }
+    }
+}
diff --git a/sdk/dotnet/SageMaker/PartnerApp.cs b/sdk/dotnet/SageMaker/PartnerApp.cs
new file mode 100644
index 0000000000..6cc2704944
--- /dev/null
+++ b/sdk/dotnet/SageMaker/PartnerApp.cs
@@ -0,0 +1,213 @@
+// *** WARNING: this file was generated by pulumi. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.AwsNative.SageMaker
+{
+    /// <summary>
+    /// Resource Type definition for AWS::SageMaker::PartnerApp
+    /// </summary>
+    [AwsNativeResourceType("aws-native:sagemaker:PartnerApp")]
+    public partial class PartnerApp : global::Pulumi.CustomResource
+    {
+        /// <summary>
+        /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+        /// </summary>
+        [Output("applicationConfig")]
+        public Output<Outputs.PartnerAppConfig?> ApplicationConfig { get; private set; } = null!;
+
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the created PartnerApp.
+        /// </summary>
+        [Output("arn")]
+        public Output<string> Arn { get; private set; } = null!;
+
+        /// <summary>
+        /// The Auth type of PartnerApp.
+        /// </summary>
+        [Output("authType")]
+        public Output<Pulumi.AwsNative.SageMaker.PartnerAppAuthType> AuthType { get; private set; } = null!;
+
+        /// <summary>
+        /// The AppServerUrl based on app and account-info.
+        /// </summary>
+        [Output("baseUrl")]
+        public Output<string> BaseUrl { get; private set; } = null!;
+
+        /// <summary>
+        /// The client token for the PartnerApp.
+        /// </summary>
+        [Output("clientToken")]
+        public Output<string?> ClientToken { get; private set; } = null!;
+
+        /// <summary>
+        /// Enables IAM Session based Identity for PartnerApp.
+        /// </summary>
+        [Output("enableIamSessionBasedIdentity")]
+        public Output<bool?> EnableIamSessionBasedIdentity { get; private set; } = null!;
+
+        /// <summary>
+        /// The execution role for the user.
+        /// </summary>
+        [Output("executionRoleArn")]
+        public Output<string> ExecutionRoleArn { get; private set; } = null!;
+
+        /// <summary>
+        /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+        /// </summary>
+        [Output("maintenanceConfig")]
+        public Output<Outputs.PartnerAppMaintenanceConfig?> MaintenanceConfig { get; private set; } = null!;
+
+        /// <summary>
+        /// A name for the PartnerApp.
+        /// </summary>
+        [Output("name")]
+        public Output<string> Name { get; private set; } = null!;
+
+        /// <summary>
+        /// A list of tags to apply to the PartnerApp.
+        /// </summary>
+        [Output("tags")]
+        public Output<ImmutableArray<Pulumi.AwsNative.Outputs.Tag>> Tags { get; private set; } = null!;
+
+        /// <summary>
+        /// The tier of the PartnerApp.
+        /// </summary>
+        [Output("tier")]
+        public Output<string> Tier { get; private set; } = null!;
+
+        /// <summary>
+        /// The type of PartnerApp.
+        /// </summary>
+        [Output("type")]
+        public Output<Pulumi.AwsNative.SageMaker.PartnerAppType> Type { get; private set; } = null!;
+
+
+        /// <summary>
+        /// Create a PartnerApp resource with the given unique name, arguments, and options.
+        /// </summary>
+        ///
+        /// <param name="name">The unique name of the resource</param>
+        /// <param name="args">The arguments used to populate this resource's properties</param>
+        /// <param name="options">A bag of options that control this resource's behavior</param>
+        public PartnerApp(string name, PartnerAppArgs args, CustomResourceOptions? options = null)
+            : base("aws-native:sagemaker:PartnerApp", name, args ?? new PartnerAppArgs(), MakeResourceOptions(options, ""))
+        {
+        }
+
+        private PartnerApp(string name, Input<string> id, CustomResourceOptions? options = null)
+            : base("aws-native:sagemaker:PartnerApp", name, null, MakeResourceOptions(options, id))
+        {
+        }
+
+        private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
+        {
+            var defaultOptions = new CustomResourceOptions
+            {
+                Version = Utilities.Version,
+                ReplaceOnChanges =
+                {
+                    "authType",
+                    "executionRoleArn",
+                    "name",
+                    "type",
+                },
+            };
+            var merged = CustomResourceOptions.Merge(defaultOptions, options);
+            // Override the ID if one was specified for consistency with other language SDKs.
+            merged.Id = id ?? merged.Id;
+            return merged;
+        }
+        /// <summary>
+        /// Get an existing PartnerApp resource's state with the given name, ID, and optional extra
+        /// properties used to qualify the lookup.
+        /// </summary>
+        ///
+        /// <param name="name">The unique name of the resulting resource.</param>
+        /// <param name="id">The unique provider ID of the resource to lookup.</param>
+        /// <param name="options">A bag of options that control this resource's behavior</param>
+        public static PartnerApp Get(string name, Input<string> id, CustomResourceOptions? options = null)
+        {
+            return new PartnerApp(name, id, options);
+        }
+    }
+
+    public sealed class PartnerAppArgs : global::Pulumi.ResourceArgs
+    {
+        /// <summary>
+        /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+        /// </summary>
+        [Input("applicationConfig")]
+        public Input<Inputs.PartnerAppConfigArgs>? ApplicationConfig { get; set; }
+
+        /// <summary>
+        /// The Auth type of PartnerApp.
+        /// </summary>
+        [Input("authType", required: true)]
+        public Input<Pulumi.AwsNative.SageMaker.PartnerAppAuthType> AuthType { get; set; } = null!;
+
+        /// <summary>
+        /// The client token for the PartnerApp.
+        /// </summary>
+        [Input("clientToken")]
+        public Input<string>? ClientToken { get; set; }
+
+        /// <summary>
+        /// Enables IAM Session based Identity for PartnerApp.
+        /// </summary>
+        [Input("enableIamSessionBasedIdentity")]
+        public Input<bool>? EnableIamSessionBasedIdentity { get; set; }
+
+        /// <summary>
+        /// The execution role for the user.
+        /// </summary>
+        [Input("executionRoleArn", required: true)]
+        public Input<string> ExecutionRoleArn { get; set; } = null!;
+
+        /// <summary>
+        /// A collection of settings that specify the maintenance schedule for the PartnerApp.
+        /// </summary>
+        [Input("maintenanceConfig")]
+        public Input<Inputs.PartnerAppMaintenanceConfigArgs>? MaintenanceConfig { get; set; }
+
+        /// <summary>
+        /// A name for the PartnerApp.
+        /// </summary>
+        [Input("name")]
+        public Input<string>? Name { get; set; }
+
+        [Input("tags")]
+        private InputList<Pulumi.AwsNative.Inputs.TagArgs>? _tags;
+
+        /// <summary>
+        /// A list of tags to apply to the PartnerApp.
+        /// </summary>
+        public InputList<Pulumi.AwsNative.Inputs.TagArgs> Tags
+        {
+            get => _tags ?? (_tags = new InputList<Pulumi.AwsNative.Inputs.TagArgs>());
+            set => _tags = value;
+        }
+
+        /// <summary>
+        /// The tier of the PartnerApp.
+        /// </summary>
+        [Input("tier", required: true)]
+        public Input<string> Tier { get; set; } = null!;
+
+        /// <summary>
+        /// The type of PartnerApp.
+        /// </summary>
+        [Input("type", required: true)]
+        public Input<Pulumi.AwsNative.SageMaker.PartnerAppType> Type { get; set; } = null!;
+
+        public PartnerAppArgs()
+        {
+        }
+        public static new PartnerAppArgs Empty => new PartnerAppArgs();
+    }
+}
diff --git a/sdk/dotnet/StepFunctions/GetStateMachineVersion.cs b/sdk/dotnet/StepFunctions/GetStateMachineVersion.cs
index 2a8f713b4a..01c366ee19 100644
--- a/sdk/dotnet/StepFunctions/GetStateMachineVersion.cs
+++ b/sdk/dotnet/StepFunctions/GetStateMachineVersion.cs
@@ -61,19 +61,11 @@ public sealed class GetStateMachineVersionResult
         /// Returns the ARN of the state machine version. For example, `arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1` .
         /// </summary>
         public readonly string? Arn;
-        /// <summary>
-        /// An optional description of the state machine version.
-        /// </summary>
-        public readonly string? Description;
 
         [OutputConstructor]
-        private GetStateMachineVersionResult(
-            string? arn,
-
-            string? description)
+        private GetStateMachineVersionResult(string? arn)
         {
             Arn = arn;
-            Description = description;
         }
     }
 }
diff --git a/sdk/dotnet/StepFunctions/StateMachineVersion.cs b/sdk/dotnet/StepFunctions/StateMachineVersion.cs
index 11d5e147a9..b3976dce31 100644
--- a/sdk/dotnet/StepFunctions/StateMachineVersion.cs
+++ b/sdk/dotnet/StepFunctions/StateMachineVersion.cs
@@ -68,6 +68,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions?
                 Version = Utilities.Version,
                 ReplaceOnChanges =
                 {
+                    "description",
                     "stateMachineArn",
                     "stateMachineRevisionId",
                 },
diff --git a/sdk/dotnet/Wisdom/AiGuardrail.cs b/sdk/dotnet/Wisdom/AiGuardrail.cs
index cee3218792..f43026f829 100644
--- a/sdk/dotnet/Wisdom/AiGuardrail.cs
+++ b/sdk/dotnet/Wisdom/AiGuardrail.cs
@@ -15,15 +15,27 @@ namespace Pulumi.AwsNative.Wisdom
     [AwsNativeResourceType("aws-native:wisdom:AiGuardrail")]
     public partial class AiGuardrail : global::Pulumi.CustomResource
     {
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the AI Guardrail.
+        /// </summary>
         [Output("aiGuardrailArn")]
         public Output<string> AiGuardrailArn { get; private set; } = null!;
 
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect AI Guardrail.
+        /// </summary>
         [Output("aiGuardrailId")]
         public Output<string> AiGuardrailId { get; private set; } = null!;
 
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+        /// </summary>
         [Output("assistantArn")]
         public Output<string> AssistantArn { get; private set; } = null!;
 
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+        /// </summary>
         [Output("assistantId")]
         public Output<string> AssistantId { get; private set; } = null!;
 
@@ -39,9 +51,15 @@ public partial class AiGuardrail : global::Pulumi.CustomResource
         [Output("blockedOutputsMessaging")]
         public Output<string> BlockedOutputsMessaging { get; private set; } = null!;
 
+        /// <summary>
+        /// Contains details about how to handle harmful content.
+        /// </summary>
         [Output("contentPolicyConfig")]
         public Output<Outputs.AiGuardrailAiGuardrailContentPolicyConfig?> ContentPolicyConfig { get; private set; } = null!;
 
+        /// <summary>
+        /// The policy configuration details for the AI Guardrail's contextual grounding policy.
+        /// </summary>
         [Output("contextualGroundingPolicyConfig")]
         public Output<Outputs.AiGuardrailAiGuardrailContextualGroundingPolicyConfig?> ContextualGroundingPolicyConfig { get; private set; } = null!;
 
@@ -51,18 +69,33 @@ public partial class AiGuardrail : global::Pulumi.CustomResource
         [Output("description")]
         public Output<string?> Description { get; private set; } = null!;
 
+        /// <summary>
+        /// The name of the AI Guardrail.
+        /// </summary>
         [Output("name")]
         public Output<string?> Name { get; private set; } = null!;
 
+        /// <summary>
+        /// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        /// </summary>
         [Output("sensitiveInformationPolicyConfig")]
         public Output<Outputs.AiGuardrailAiGuardrailSensitiveInformationPolicyConfig?> SensitiveInformationPolicyConfig { get; private set; } = null!;
 
+        /// <summary>
+        /// The tags used to organize, track, or control access for this resource.
+        /// </summary>
         [Output("tags")]
         public Output<ImmutableDictionary<string, string>?> Tags { get; private set; } = null!;
 
+        /// <summary>
+        /// Contains details about topics that the AI Guardrail should identify and deny.
+        /// </summary>
         [Output("topicPolicyConfig")]
         public Output<Outputs.AiGuardrailAiGuardrailTopicPolicyConfig?> TopicPolicyConfig { get; private set; } = null!;
 
+        /// <summary>
+        /// Contains details about the word policy to configured for the AI Guardrail.
+        /// </summary>
         [Output("wordPolicyConfig")]
         public Output<Outputs.AiGuardrailAiGuardrailWordPolicyConfig?> WordPolicyConfig { get; private set; } = null!;
 
@@ -117,6 +150,9 @@ public static AiGuardrail Get(string name, Input<string> id, CustomResourceOptio
 
     public sealed class AiGuardrailArgs : global::Pulumi.ResourceArgs
     {
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+        /// </summary>
         [Input("assistantId", required: true)]
         public Input<string> AssistantId { get; set; } = null!;
 
@@ -132,9 +168,15 @@ public sealed class AiGuardrailArgs : global::Pulumi.ResourceArgs
         [Input("blockedOutputsMessaging", required: true)]
         public Input<string> BlockedOutputsMessaging { get; set; } = null!;
 
+        /// <summary>
+        /// Contains details about how to handle harmful content.
+        /// </summary>
         [Input("contentPolicyConfig")]
         public Input<Inputs.AiGuardrailAiGuardrailContentPolicyConfigArgs>? ContentPolicyConfig { get; set; }
 
+        /// <summary>
+        /// The policy configuration details for the AI Guardrail's contextual grounding policy.
+        /// </summary>
         [Input("contextualGroundingPolicyConfig")]
         public Input<Inputs.AiGuardrailAiGuardrailContextualGroundingPolicyConfigArgs>? ContextualGroundingPolicyConfig { get; set; }
 
@@ -144,23 +186,39 @@ public sealed class AiGuardrailArgs : global::Pulumi.ResourceArgs
         [Input("description")]
         public Input<string>? Description { get; set; }
 
+        /// <summary>
+        /// The name of the AI Guardrail.
+        /// </summary>
         [Input("name")]
         public Input<string>? Name { get; set; }
 
+        /// <summary>
+        /// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        /// </summary>
         [Input("sensitiveInformationPolicyConfig")]
         public Input<Inputs.AiGuardrailAiGuardrailSensitiveInformationPolicyConfigArgs>? SensitiveInformationPolicyConfig { get; set; }
 
         [Input("tags")]
         private InputMap<string>? _tags;
+
+        /// <summary>
+        /// The tags used to organize, track, or control access for this resource.
+        /// </summary>
         public InputMap<string> Tags
         {
             get => _tags ?? (_tags = new InputMap<string>());
             set => _tags = value;
         }
 
+        /// <summary>
+        /// Contains details about topics that the AI Guardrail should identify and deny.
+        /// </summary>
         [Input("topicPolicyConfig")]
         public Input<Inputs.AiGuardrailAiGuardrailTopicPolicyConfigArgs>? TopicPolicyConfig { get; set; }
 
+        /// <summary>
+        /// Contains details about the word policy to configured for the AI Guardrail.
+        /// </summary>
         [Input("wordPolicyConfig")]
         public Input<Inputs.AiGuardrailAiGuardrailWordPolicyConfigArgs>? WordPolicyConfig { get; set; }
 
diff --git a/sdk/dotnet/Wisdom/AiGuardrailVersion.cs b/sdk/dotnet/Wisdom/AiGuardrailVersion.cs
index f5f1575568..d209aebc7f 100644
--- a/sdk/dotnet/Wisdom/AiGuardrailVersion.cs
+++ b/sdk/dotnet/Wisdom/AiGuardrailVersion.cs
@@ -33,6 +33,9 @@ public partial class AiGuardrailVersion : global::Pulumi.CustomResource
         [Output("modifiedTimeSeconds")]
         public Output<double?> ModifiedTimeSeconds { get; private set; } = null!;
 
+        /// <summary>
+        /// The version number for this AI Guardrail version.
+        /// </summary>
         [Output("versionNumber")]
         public Output<double> VersionNumber { get; private set; } = null!;
 
diff --git a/sdk/dotnet/Wisdom/GetAiGuardrail.cs b/sdk/dotnet/Wisdom/GetAiGuardrail.cs
index 95bb1644d9..7eb62e733a 100644
--- a/sdk/dotnet/Wisdom/GetAiGuardrail.cs
+++ b/sdk/dotnet/Wisdom/GetAiGuardrail.cs
@@ -27,9 +27,15 @@ public static Output<GetAiGuardrailResult> Invoke(GetAiGuardrailInvokeArgs args,
 
     public sealed class GetAiGuardrailArgs : global::Pulumi.InvokeArgs
     {
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect AI Guardrail.
+        /// </summary>
         [Input("aiGuardrailId", required: true)]
         public string AiGuardrailId { get; set; } = null!;
 
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+        /// </summary>
         [Input("assistantId", required: true)]
         public string AssistantId { get; set; } = null!;
 
@@ -41,9 +47,15 @@ public GetAiGuardrailArgs()
 
     public sealed class GetAiGuardrailInvokeArgs : global::Pulumi.InvokeArgs
     {
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect AI Guardrail.
+        /// </summary>
         [Input("aiGuardrailId", required: true)]
         public Input<string> AiGuardrailId { get; set; } = null!;
 
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+        /// </summary>
         [Input("assistantId", required: true)]
         public Input<string> AssistantId { get; set; } = null!;
 
@@ -57,8 +69,17 @@ public GetAiGuardrailInvokeArgs()
     [OutputType]
     public sealed class GetAiGuardrailResult
     {
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the AI Guardrail.
+        /// </summary>
         public readonly string? AiGuardrailArn;
+        /// <summary>
+        /// The identifier of the Amazon Q in Connect AI Guardrail.
+        /// </summary>
         public readonly string? AiGuardrailId;
+        /// <summary>
+        /// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+        /// </summary>
         public readonly string? AssistantArn;
         /// <summary>
         /// Messaging for when violations are detected in text
@@ -68,14 +89,29 @@ public sealed class GetAiGuardrailResult
         /// Messaging for when violations are detected in text
         /// </summary>
         public readonly string? BlockedOutputsMessaging;
+        /// <summary>
+        /// Contains details about how to handle harmful content.
+        /// </summary>
         public readonly Outputs.AiGuardrailAiGuardrailContentPolicyConfig? ContentPolicyConfig;
+        /// <summary>
+        /// The policy configuration details for the AI Guardrail's contextual grounding policy.
+        /// </summary>
         public readonly Outputs.AiGuardrailAiGuardrailContextualGroundingPolicyConfig? ContextualGroundingPolicyConfig;
         /// <summary>
         /// Description of the guardrail or its version
         /// </summary>
         public readonly string? Description;
+        /// <summary>
+        /// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        /// </summary>
         public readonly Outputs.AiGuardrailAiGuardrailSensitiveInformationPolicyConfig? SensitiveInformationPolicyConfig;
+        /// <summary>
+        /// Contains details about topics that the AI Guardrail should identify and deny.
+        /// </summary>
         public readonly Outputs.AiGuardrailAiGuardrailTopicPolicyConfig? TopicPolicyConfig;
+        /// <summary>
+        /// Contains details about the word policy to configured for the AI Guardrail.
+        /// </summary>
         public readonly Outputs.AiGuardrailAiGuardrailWordPolicyConfig? WordPolicyConfig;
 
         [OutputConstructor]
diff --git a/sdk/dotnet/Wisdom/GetAiGuardrailVersion.cs b/sdk/dotnet/Wisdom/GetAiGuardrailVersion.cs
index 38221d1cf2..6bb0629c9b 100644
--- a/sdk/dotnet/Wisdom/GetAiGuardrailVersion.cs
+++ b/sdk/dotnet/Wisdom/GetAiGuardrailVersion.cs
@@ -33,6 +33,9 @@ public sealed class GetAiGuardrailVersionArgs : global::Pulumi.InvokeArgs
         [Input("assistantId", required: true)]
         public string AssistantId { get; set; } = null!;
 
+        /// <summary>
+        /// The version number for this AI Guardrail version.
+        /// </summary>
         [Input("versionNumber", required: true)]
         public double VersionNumber { get; set; }
 
@@ -50,6 +53,9 @@ public sealed class GetAiGuardrailVersionInvokeArgs : global::Pulumi.InvokeArgs
         [Input("assistantId", required: true)]
         public Input<string> AssistantId { get; set; } = null!;
 
+        /// <summary>
+        /// The version number for this AI Guardrail version.
+        /// </summary>
         [Input("versionNumber", required: true)]
         public Input<double> VersionNumber { get; set; } = null!;
 
@@ -66,6 +72,9 @@ public sealed class GetAiGuardrailVersionResult
         public readonly string? AiGuardrailArn;
         public readonly string? AiGuardrailVersionId;
         public readonly string? AssistantArn;
+        /// <summary>
+        /// The version number for this AI Guardrail version.
+        /// </summary>
         public readonly double? VersionNumber;
 
         [OutputConstructor]
diff --git a/sdk/go/aws/amazonmq/configuration.go b/sdk/go/aws/amazonmq/configuration.go
index 4e668f04e6..faba6c26d6 100644
--- a/sdk/go/aws/amazonmq/configuration.go
+++ b/sdk/go/aws/amazonmq/configuration.go
@@ -76,7 +76,7 @@ type Configuration struct {
 	// The ID of the Amazon MQ configuration.
 	AwsId pulumi.StringOutput `pulumi:"awsId"`
 	// The base64-encoded XML configuration.
-	Data pulumi.StringOutput `pulumi:"data"`
+	Data pulumi.StringPtrOutput `pulumi:"data"`
 	// The description of the configuration.
 	Description pulumi.StringPtrOutput `pulumi:"description"`
 	// The type of broker engine. Note: Currently, Amazon MQ only supports ACTIVEMQ for creating and editing broker configurations.
@@ -98,9 +98,6 @@ func NewConfiguration(ctx *pulumi.Context,
 		return nil, errors.New("missing one or more required arguments")
 	}
 
-	if args.Data == nil {
-		return nil, errors.New("invalid value for required argument 'Data'")
-	}
 	if args.EngineType == nil {
 		return nil, errors.New("invalid value for required argument 'EngineType'")
 	}
@@ -147,7 +144,7 @@ type configurationArgs struct {
 	// The authentication strategy associated with the configuration. The default is SIMPLE.
 	AuthenticationStrategy *string `pulumi:"authenticationStrategy"`
 	// The base64-encoded XML configuration.
-	Data string `pulumi:"data"`
+	Data *string `pulumi:"data"`
 	// The description of the configuration.
 	Description *string `pulumi:"description"`
 	// The type of broker engine. Note: Currently, Amazon MQ only supports ACTIVEMQ for creating and editing broker configurations.
@@ -165,7 +162,7 @@ type ConfigurationArgs struct {
 	// The authentication strategy associated with the configuration. The default is SIMPLE.
 	AuthenticationStrategy pulumi.StringPtrInput
 	// The base64-encoded XML configuration.
-	Data pulumi.StringInput
+	Data pulumi.StringPtrInput
 	// The description of the configuration.
 	Description pulumi.StringPtrInput
 	// The type of broker engine. Note: Currently, Amazon MQ only supports ACTIVEMQ for creating and editing broker configurations.
@@ -231,8 +228,8 @@ func (o ConfigurationOutput) AwsId() pulumi.StringOutput {
 }
 
 // The base64-encoded XML configuration.
-func (o ConfigurationOutput) Data() pulumi.StringOutput {
-	return o.ApplyT(func(v *Configuration) pulumi.StringOutput { return v.Data }).(pulumi.StringOutput)
+func (o ConfigurationOutput) Data() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *Configuration) pulumi.StringPtrOutput { return v.Data }).(pulumi.StringPtrOutput)
 }
 
 // The description of the configuration.
diff --git a/sdk/go/aws/ec2/launchTemplate.go b/sdk/go/aws/ec2/launchTemplate.go
index c539695716..0156de971b 100644
--- a/sdk/go/aws/ec2/launchTemplate.go
+++ b/sdk/go/aws/ec2/launchTemplate.go
@@ -36,7 +36,7 @@ type LaunchTemplate struct {
 	// A name for the launch template.
 	LaunchTemplateName pulumi.StringPtrOutput `pulumi:"launchTemplateName"`
 	// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-	//  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+	//  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
 	TagSpecifications LaunchTemplateTagSpecificationArrayOutput `pulumi:"tagSpecifications"`
 	// A description for the first version of the launch template.
 	VersionDescription pulumi.StringPtrOutput `pulumi:"versionDescription"`
@@ -94,7 +94,7 @@ type launchTemplateArgs struct {
 	// A name for the launch template.
 	LaunchTemplateName *string `pulumi:"launchTemplateName"`
 	// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-	//  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+	//  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
 	TagSpecifications []LaunchTemplateTagSpecification `pulumi:"tagSpecifications"`
 	// A description for the first version of the launch template.
 	VersionDescription *string `pulumi:"versionDescription"`
@@ -107,7 +107,7 @@ type LaunchTemplateArgs struct {
 	// A name for the launch template.
 	LaunchTemplateName pulumi.StringPtrInput
 	// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-	//  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+	//  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
 	TagSpecifications LaunchTemplateTagSpecificationArrayInput
 	// A description for the first version of the launch template.
 	VersionDescription pulumi.StringPtrInput
@@ -179,7 +179,7 @@ func (o LaunchTemplateOutput) LaunchTemplateName() pulumi.StringPtrOutput {
 
 // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be “launch-template“.
 //
-//	To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+//	To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
 func (o LaunchTemplateOutput) TagSpecifications() LaunchTemplateTagSpecificationArrayOutput {
 	return o.ApplyT(func(v *LaunchTemplate) LaunchTemplateTagSpecificationArrayOutput { return v.TagSpecifications }).(LaunchTemplateTagSpecificationArrayOutput)
 }
diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go
index b091691a24..f1908716a6 100644
--- a/sdk/go/aws/ec2/pulumiTypes.go
+++ b/sdk/go/aws/ec2/pulumiTypes.go
@@ -9351,6 +9351,9 @@ func (o LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutp
 	}).(pulumi.IntPtrOutput)
 }
 
+// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+//
+//	Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
 type LaunchTemplateBaselinePerformanceFactors struct {
 	// The CPU performance to consider, using an instance family as the baseline reference.
 	Cpu *LaunchTemplateCpu `pulumi:"cpu"`
@@ -9367,6 +9370,9 @@ type LaunchTemplateBaselinePerformanceFactorsInput interface {
 	ToLaunchTemplateBaselinePerformanceFactorsOutputWithContext(context.Context) LaunchTemplateBaselinePerformanceFactorsOutput
 }
 
+// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+//
+//	Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
 type LaunchTemplateBaselinePerformanceFactorsArgs struct {
 	// The CPU performance to consider, using an instance family as the baseline reference.
 	Cpu LaunchTemplateCpuPtrInput `pulumi:"cpu"`
@@ -9425,6 +9431,9 @@ func (i *launchTemplateBaselinePerformanceFactorsPtrType) ToLaunchTemplateBaseli
 	return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBaselinePerformanceFactorsPtrOutput)
 }
 
+// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+//
+//	Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
 type LaunchTemplateBaselinePerformanceFactorsOutput struct{ *pulumi.OutputState }
 
 func (LaunchTemplateBaselinePerformanceFactorsOutput) ElementType() reflect.Type {
@@ -9626,7 +9635,8 @@ func (o LaunchTemplateBlockDeviceMappingArrayOutput) Index(i pulumi.IntInput) La
 //	``CapacityReservationSpecification`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
 type LaunchTemplateCapacityReservationSpecification struct {
 	// Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-	//   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+	//   +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+	//   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
 	//   +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
 	CapacityReservationPreference *string `pulumi:"capacityReservationPreference"`
 	// Information about the target Capacity Reservation or Capacity Reservation group.
@@ -9649,7 +9659,8 @@ type LaunchTemplateCapacityReservationSpecificationInput interface {
 //	``CapacityReservationSpecification`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
 type LaunchTemplateCapacityReservationSpecificationArgs struct {
 	// Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-	//   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+	//   +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+	//   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
 	//   +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
 	CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"`
 	// Information about the target Capacity Reservation or Capacity Reservation group.
@@ -9737,7 +9748,8 @@ func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCa
 }
 
 // Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-//   - “open“ - The instance can run in any “open“ Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+//   - “capacity-reservations-only“ - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+//   - “open“ - The instance can run in any “open“ Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
 //   - “none“ - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
 func (o LaunchTemplateCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecification) *string { return v.CapacityReservationPreference }).(pulumi.StringPtrOutput)
@@ -9775,7 +9787,8 @@ func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) Elem() LaunchTe
 }
 
 // Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-//   - “open“ - The instance can run in any “open“ Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+//   - “capacity-reservations-only“ - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+//   - “open“ - The instance can run in any “open“ Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
 //   - “none“ - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
 func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) *string {
@@ -10629,7 +10642,8 @@ type LaunchTemplateData struct {
 	// Deprecated.
 	//   Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
 	ElasticGpuSpecifications []LaunchTemplateElasticGpuSpecification `pulumi:"elasticGpuSpecifications"`
-	// An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+	// Amazon Elastic Inference is no longer available.
+	//   An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
 	//  You cannot specify accelerators from different generations in the same request.
 	//   Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
 	ElasticInferenceAccelerators []LaunchTemplateElasticInferenceAccelerator `pulumi:"elasticInferenceAccelerators"`
@@ -10663,7 +10677,7 @@ type LaunchTemplateData struct {
 	//
 	//   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
 	//  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-	//   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+	//   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
 	InstanceRequirements *LaunchTemplateInstanceRequirements `pulumi:"instanceRequirements"`
 	// The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.
 	//  If you specify ``InstanceType``, you can't specify ``InstanceRequirements``.
@@ -10683,7 +10697,8 @@ type LaunchTemplateData struct {
 	// The monitoring for the instance.
 	Monitoring *LaunchTemplateMonitoring `pulumi:"monitoring"`
 	// The network interfaces for the instance.
-	NetworkInterfaces []LaunchTemplateNetworkInterface `pulumi:"networkInterfaces"`
+	NetworkInterfaces         []LaunchTemplateNetworkInterface `pulumi:"networkInterfaces"`
+	NetworkPerformanceOptions interface{}                      `pulumi:"networkPerformanceOptions"`
 	// The placement for the instance.
 	Placement *LaunchTemplatePlacement `pulumi:"placement"`
 	// The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *User Guide*.
@@ -10697,8 +10712,7 @@ type LaunchTemplateData struct {
 	// The names of the security groups. For a nondefault VPC, you must use security group IDs instead.
 	//  If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
 	SecurityGroups []string `pulumi:"securityGroups"`
-	// The tags to apply to the resources that are created during instance launch.
-	//  To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+	// The tags to apply to resources that are created during instance launch.
 	//  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
 	TagSpecifications []TagSpecification `pulumi:"tagSpecifications"`
 	// The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*.
@@ -10738,7 +10752,8 @@ type LaunchTemplateDataArgs struct {
 	// Deprecated.
 	//   Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
 	ElasticGpuSpecifications LaunchTemplateElasticGpuSpecificationArrayInput `pulumi:"elasticGpuSpecifications"`
-	// An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+	// Amazon Elastic Inference is no longer available.
+	//   An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
 	//  You cannot specify accelerators from different generations in the same request.
 	//   Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
 	ElasticInferenceAccelerators LaunchTemplateElasticInferenceAcceleratorArrayInput `pulumi:"elasticInferenceAccelerators"`
@@ -10772,7 +10787,7 @@ type LaunchTemplateDataArgs struct {
 	//
 	//   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
 	//  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-	//   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+	//   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
 	InstanceRequirements LaunchTemplateInstanceRequirementsPtrInput `pulumi:"instanceRequirements"`
 	// The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.
 	//  If you specify ``InstanceType``, you can't specify ``InstanceRequirements``.
@@ -10792,7 +10807,8 @@ type LaunchTemplateDataArgs struct {
 	// The monitoring for the instance.
 	Monitoring LaunchTemplateMonitoringPtrInput `pulumi:"monitoring"`
 	// The network interfaces for the instance.
-	NetworkInterfaces LaunchTemplateNetworkInterfaceArrayInput `pulumi:"networkInterfaces"`
+	NetworkInterfaces         LaunchTemplateNetworkInterfaceArrayInput `pulumi:"networkInterfaces"`
+	NetworkPerformanceOptions pulumi.Input                             `pulumi:"networkPerformanceOptions"`
 	// The placement for the instance.
 	Placement LaunchTemplatePlacementPtrInput `pulumi:"placement"`
 	// The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *User Guide*.
@@ -10806,8 +10822,7 @@ type LaunchTemplateDataArgs struct {
 	// The names of the security groups. For a nondefault VPC, you must use security group IDs instead.
 	//  If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
 	SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"`
-	// The tags to apply to the resources that are created during instance launch.
-	//  To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+	// The tags to apply to resources that are created during instance launch.
 	//  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
 	TagSpecifications TagSpecificationArrayInput `pulumi:"tagSpecifications"`
 	// The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*.
@@ -10888,8 +10903,9 @@ func (o LaunchTemplateDataOutput) ElasticGpuSpecifications() LaunchTemplateElast
 	return o.ApplyT(func(v LaunchTemplateData) []LaunchTemplateElasticGpuSpecification { return v.ElasticGpuSpecifications }).(LaunchTemplateElasticGpuSpecificationArrayOutput)
 }
 
-// An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+// Amazon Elastic Inference is no longer available.
 //
+//	 An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
 //	You cannot specify accelerators from different generations in the same request.
 //	 Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
 func (o LaunchTemplateDataOutput) ElasticInferenceAccelerators() LaunchTemplateElasticInferenceAcceleratorArrayOutput {
@@ -10950,7 +10966,7 @@ func (o LaunchTemplateDataOutput) InstanceMarketOptions() LaunchTemplateInstance
 //
 //	 If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
 //	Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-//	 For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+//	 For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
 func (o LaunchTemplateDataOutput) InstanceRequirements() LaunchTemplateInstanceRequirementsPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateData) *LaunchTemplateInstanceRequirements { return v.InstanceRequirements }).(LaunchTemplateInstanceRequirementsPtrOutput)
 }
@@ -11001,6 +11017,10 @@ func (o LaunchTemplateDataOutput) NetworkInterfaces() LaunchTemplateNetworkInter
 	return o.ApplyT(func(v LaunchTemplateData) []LaunchTemplateNetworkInterface { return v.NetworkInterfaces }).(LaunchTemplateNetworkInterfaceArrayOutput)
 }
 
+func (o LaunchTemplateDataOutput) NetworkPerformanceOptions() pulumi.AnyOutput {
+	return o.ApplyT(func(v LaunchTemplateData) interface{} { return v.NetworkPerformanceOptions }).(pulumi.AnyOutput)
+}
+
 // The placement for the instance.
 func (o LaunchTemplateDataOutput) Placement() LaunchTemplatePlacementPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateData) *LaunchTemplatePlacement { return v.Placement }).(LaunchTemplatePlacementPtrOutput)
@@ -11032,9 +11052,8 @@ func (o LaunchTemplateDataOutput) SecurityGroups() pulumi.StringArrayOutput {
 	return o.ApplyT(func(v LaunchTemplateData) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput)
 }
 
-// The tags to apply to the resources that are created during instance launch.
+// The tags to apply to resources that are created during instance launch.
 //
-//	To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
 //	To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
 func (o LaunchTemplateDataOutput) TagSpecifications() TagSpecificationArrayOutput {
 	return o.ApplyT(func(v LaunchTemplateData) []TagSpecification { return v.TagSpecifications }).(TagSpecificationArrayOutput)
@@ -11064,7 +11083,7 @@ type LaunchTemplateEbs struct {
 	//  For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
 	//  This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only.
 	Iops *int `pulumi:"iops"`
-	// The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+	// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
 	KmsKeyId *string `pulumi:"kmsKeyId"`
 	// The ID of the snapshot.
 	SnapshotId *string `pulumi:"snapshotId"`
@@ -11110,7 +11129,7 @@ type LaunchTemplateEbsArgs struct {
 	//  For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
 	//  This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only.
 	Iops pulumi.IntPtrInput `pulumi:"iops"`
-	// The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+	// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
 	KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"`
 	// The ID of the snapshot.
 	SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"`
@@ -11231,7 +11250,7 @@ func (o LaunchTemplateEbsOutput) Iops() pulumi.IntPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateEbs) *int { return v.Iops }).(pulumi.IntPtrOutput)
 }
 
-// The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
 func (o LaunchTemplateEbsOutput) KmsKeyId() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateEbs) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput)
 }
@@ -11325,7 +11344,7 @@ func (o LaunchTemplateEbsPtrOutput) Iops() pulumi.IntPtrOutput {
 	}).(pulumi.IntPtrOutput)
 }
 
-// The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
 func (o LaunchTemplateEbsPtrOutput) KmsKeyId() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *LaunchTemplateEbs) *string {
 		if v == nil {
@@ -12552,7 +12571,7 @@ func (o LaunchTemplateInstanceMarketOptionsPtrOutput) SpotOptions() LaunchTempla
 //
 //	 If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
 //	Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-//	 For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+//	 For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
 type LaunchTemplateInstanceRequirements struct {
 	// The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
 	//  To exclude accelerator-enabled instance types, set ``Max`` to ``0``.
@@ -12589,7 +12608,6 @@ type LaunchTemplateInstanceRequirements struct {
 	// The accelerator types that must be on the instance type.
 	//   +  For instance types with GPU accelerators, specify ``gpu``.
 	//   +  For instance types with FPGA accelerators, specify ``fpga``.
-	//   +  For instance types with inference accelerators, specify ``inference``.
 	//
 	//  Default: Any accelerator type
 	AcceleratorTypes []string `pulumi:"acceleratorTypes"`
@@ -12609,7 +12627,7 @@ type LaunchTemplateInstanceRequirements struct {
 	// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.
 	//  Default: No minimum or maximum limits
 	BaselineEbsBandwidthMbps *LaunchTemplateBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"`
-	// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+	// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
 	BaselinePerformanceFactors *LaunchTemplateBaselinePerformanceFactors `pulumi:"baselinePerformanceFactors"`
 	// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).
 	//   +  To include burstable performance instance types, specify ``included``.
@@ -12622,6 +12640,7 @@ type LaunchTemplateInstanceRequirements struct {
 	//   +  For instance types with Intel CPUs, specify ``intel``.
 	//   +  For instance types with AMD CPUs, specify ``amd``.
 	//   +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+	//   +  For instance types with Apple CPUs, specify ``apple``.
 	//
 	//   Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
 	//   Default: Any manufacturer
@@ -12712,7 +12731,7 @@ type LaunchTemplateInstanceRequirementsInput interface {
 //
 //	 If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
 //	Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-//	 For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+//	 For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
 type LaunchTemplateInstanceRequirementsArgs struct {
 	// The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
 	//  To exclude accelerator-enabled instance types, set ``Max`` to ``0``.
@@ -12749,7 +12768,6 @@ type LaunchTemplateInstanceRequirementsArgs struct {
 	// The accelerator types that must be on the instance type.
 	//   +  For instance types with GPU accelerators, specify ``gpu``.
 	//   +  For instance types with FPGA accelerators, specify ``fpga``.
-	//   +  For instance types with inference accelerators, specify ``inference``.
 	//
 	//  Default: Any accelerator type
 	AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"`
@@ -12769,7 +12787,7 @@ type LaunchTemplateInstanceRequirementsArgs struct {
 	// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.
 	//  Default: No minimum or maximum limits
 	BaselineEbsBandwidthMbps LaunchTemplateBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"`
-	// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+	// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
 	BaselinePerformanceFactors LaunchTemplateBaselinePerformanceFactorsPtrInput `pulumi:"baselinePerformanceFactors"`
 	// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).
 	//   +  To include burstable performance instance types, specify ``included``.
@@ -12782,6 +12800,7 @@ type LaunchTemplateInstanceRequirementsArgs struct {
 	//   +  For instance types with Intel CPUs, specify ``intel``.
 	//   +  For instance types with AMD CPUs, specify ``amd``.
 	//   +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+	//   +  For instance types with Apple CPUs, specify ``apple``.
 	//
 	//   Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
 	//   Default: Any manufacturer
@@ -12914,7 +12933,7 @@ func (i *launchTemplateInstanceRequirementsPtrType) ToLaunchTemplateInstanceRequ
 //
 //	 If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
 //	Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-//	 For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+//	 For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
 type LaunchTemplateInstanceRequirementsOutput struct{ *pulumi.OutputState }
 
 func (LaunchTemplateInstanceRequirementsOutput) ElementType() reflect.Type {
@@ -13010,8 +13029,6 @@ func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTotalMemoryMiB() La
 //
 //   - For instance types with FPGA accelerators, specify “fpga“.
 //
-//   - For instance types with inference accelerators, specify “inference“.
-//
 //     Default: Any accelerator type
 func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput {
 	return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorTypes }).(pulumi.StringArrayOutput)
@@ -13049,7 +13066,7 @@ func (o LaunchTemplateInstanceRequirementsOutput) BaselineEbsBandwidthMbps() Lau
 	}).(LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput)
 }
 
-// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
 func (o LaunchTemplateInstanceRequirementsOutput) BaselinePerformanceFactors() LaunchTemplateBaselinePerformanceFactorsPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateBaselinePerformanceFactors {
 		return v.BaselinePerformanceFactors
@@ -13077,6 +13094,8 @@ func (o LaunchTemplateInstanceRequirementsOutput) BurstablePerformance() pulumi.
 //
 //   - For instance types with AWS CPUs, specify “amazon-web-services“.
 //
+//   - For instance types with Apple CPUs, specify “apple“.
+//
 //     Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
 //     Default: Any manufacturer
 func (o LaunchTemplateInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput {
@@ -13324,8 +13343,6 @@ func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMiB()
 //
 //   - For instance types with FPGA accelerators, specify “fpga“.
 //
-//   - For instance types with inference accelerators, specify “inference“.
-//
 //     Default: Any accelerator type
 func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput {
 	return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string {
@@ -13381,7 +13398,7 @@ func (o LaunchTemplateInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps()
 	}).(LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput)
 }
 
-// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+// The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
 func (o LaunchTemplateInstanceRequirementsPtrOutput) BaselinePerformanceFactors() LaunchTemplateBaselinePerformanceFactorsPtrOutput {
 	return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateBaselinePerformanceFactors {
 		if v == nil {
@@ -13417,6 +13434,8 @@ func (o LaunchTemplateInstanceRequirementsPtrOutput) BurstablePerformance() pulu
 //
 //   - For instance types with AWS CPUs, specify “amazon-web-services“.
 //
+//   - For instance types with Apple CPUs, specify “apple“.
+//
 //     Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
 //     Default: Any manufacturer
 func (o LaunchTemplateInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput {
@@ -15103,9 +15122,10 @@ type LaunchTemplateNetworkInterface struct {
 	EnaSrdSpecification *LaunchTemplateEnaSrdSpecification `pulumi:"enaSrdSpecification"`
 	// The IDs of one or more security groups.
 	Groups []string `pulumi:"groups"`
-	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
 	//  If you are not creating an EFA, specify ``interface`` or omit this parameter.
-	//  Valid values: ``interface`` | ``efa``
+	//  If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+	//  Valid values: ``interface`` | ``efa`` | ``efa-only``
 	InterfaceType *string `pulumi:"interfaceType"`
 	// The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option.
 	Ipv4PrefixCount *int `pulumi:"ipv4PrefixCount"`
@@ -15168,9 +15188,10 @@ type LaunchTemplateNetworkInterfaceArgs struct {
 	EnaSrdSpecification LaunchTemplateEnaSrdSpecificationPtrInput `pulumi:"enaSrdSpecification"`
 	// The IDs of one or more security groups.
 	Groups pulumi.StringArrayInput `pulumi:"groups"`
-	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+	// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
 	//  If you are not creating an EFA, specify ``interface`` or omit this parameter.
-	//  Valid values: ``interface`` | ``efa``
+	//  If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+	//  Valid values: ``interface`` | ``efa`` | ``efa-only``
 	InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"`
 	// The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option.
 	Ipv4PrefixCount pulumi.IntPtrInput `pulumi:"ipv4PrefixCount"`
@@ -15302,10 +15323,11 @@ func (o LaunchTemplateNetworkInterfaceOutput) Groups() pulumi.StringArrayOutput
 	return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Groups }).(pulumi.StringArrayOutput)
 }
 
-// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify “efa“. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify “efa“ or “efa“. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
 //
 //	If you are not creating an EFA, specify ``interface`` or omit this parameter.
-//	Valid values: ``interface`` | ``efa``
+//	If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+//	Valid values: ``interface`` | ``efa`` | ``efa-only``
 func (o LaunchTemplateNetworkInterfaceOutput) InterfaceType() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.InterfaceType }).(pulumi.StringPtrOutput)
 }
@@ -16146,7 +16168,6 @@ func (o LaunchTemplatePrivateIpAddArrayOutput) Index(i pulumi.IntInput) LaunchTe
 }
 
 type LaunchTemplateReference struct {
-	// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
 	InstanceFamily *string `pulumi:"instanceFamily"`
 }
 
@@ -16162,7 +16183,6 @@ type LaunchTemplateReferenceInput interface {
 }
 
 type LaunchTemplateReferenceArgs struct {
-	// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
 	InstanceFamily pulumi.StringPtrInput `pulumi:"instanceFamily"`
 }
 
@@ -16217,7 +16237,6 @@ func (o LaunchTemplateReferenceOutput) ToLaunchTemplateReferenceOutputWithContex
 	return o
 }
 
-// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
 func (o LaunchTemplateReferenceOutput) InstanceFamily() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LaunchTemplateReference) *string { return v.InstanceFamily }).(pulumi.StringPtrOutput)
 }
@@ -16607,7 +16626,8 @@ func (o LaunchTemplateTagArrayOutput) Index(i pulumi.IntInput) LaunchTemplateTag
 
 // Specifies the tags to apply to the launch template during creation.
 //
-//	``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
+//	To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
+//	 ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
 type LaunchTemplateTagSpecification struct {
 	// The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``.
 	ResourceType *string `pulumi:"resourceType"`
@@ -16628,7 +16648,8 @@ type LaunchTemplateTagSpecificationInput interface {
 
 // Specifies the tags to apply to the launch template during creation.
 //
-//	``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
+//	To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
+//	 ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
 type LaunchTemplateTagSpecificationArgs struct {
 	// The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``.
 	ResourceType pulumi.StringPtrInput `pulumi:"resourceType"`
@@ -16675,7 +16696,8 @@ func (i LaunchTemplateTagSpecificationArray) ToLaunchTemplateTagSpecificationArr
 
 // Specifies the tags to apply to the launch template during creation.
 //
-//	``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
+//	To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
+//	 ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
 type LaunchTemplateTagSpecificationOutput struct{ *pulumi.OutputState }
 
 func (LaunchTemplateTagSpecificationOutput) ElementType() reflect.Type {
@@ -28783,7 +28805,7 @@ type SubnetTag struct {
 	Value string `pulumi:"value"`
 }
 
-// Specifies the tags to apply to a resource when the resource is created for the launch template.
+// Specifies the tags to apply to resources that are created during instance launch.
 //
 //	``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
 type TagSpecification struct {
@@ -28805,7 +28827,7 @@ type TagSpecificationInput interface {
 	ToTagSpecificationOutputWithContext(context.Context) TagSpecificationOutput
 }
 
-// Specifies the tags to apply to a resource when the resource is created for the launch template.
+// Specifies the tags to apply to resources that are created during instance launch.
 //
 //	``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
 type TagSpecificationArgs struct {
@@ -28853,7 +28875,7 @@ func (i TagSpecificationArray) ToTagSpecificationArrayOutputWithContext(ctx cont
 	return pulumi.ToOutputWithContext(ctx, i).(TagSpecificationArrayOutput)
 }
 
-// Specifies the tags to apply to a resource when the resource is created for the launch template.
+// Specifies the tags to apply to resources that are created during instance launch.
 //
 //	``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
 type TagSpecificationOutput struct{ *pulumi.OutputState }
diff --git a/sdk/go/aws/kendra/pulumiEnums.go b/sdk/go/aws/kendra/pulumiEnums.go
index 1b250f413b..40be7b3d0d 100644
--- a/sdk/go/aws/kendra/pulumiEnums.go
+++ b/sdk/go/aws/kendra/pulumiEnums.go
@@ -3222,8 +3222,9 @@ func (in *indexDocumentAttributeValueTypePtr) ToIndexDocumentAttributeValueTypeP
 type IndexEdition string
 
 const (
-	IndexEditionDeveloperEdition  = IndexEdition("DEVELOPER_EDITION")
-	IndexEditionEnterpriseEdition = IndexEdition("ENTERPRISE_EDITION")
+	IndexEditionDeveloperEdition       = IndexEdition("DEVELOPER_EDITION")
+	IndexEditionEnterpriseEdition      = IndexEdition("ENTERPRISE_EDITION")
+	IndexEditionGenAiEnterpriseEdition = IndexEdition("GEN_AI_ENTERPRISE_EDITION")
 )
 
 func (IndexEdition) ElementType() reflect.Type {
@@ -3350,6 +3351,7 @@ func (o IndexEditionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context)
 //
 //	IndexEditionDeveloperEdition
 //	IndexEditionEnterpriseEdition
+//	IndexEditionGenAiEnterpriseEdition
 type IndexEditionInput interface {
 	pulumi.Input
 
diff --git a/sdk/go/aws/lambda/eventSourceMapping.go b/sdk/go/aws/lambda/eventSourceMapping.go
index fab63842cd..9bed38354b 100644
--- a/sdk/go/aws/lambda/eventSourceMapping.go
+++ b/sdk/go/aws/lambda/eventSourceMapping.go
@@ -84,11 +84,11 @@ type EventSourceMapping struct {
 	MaximumRecordAgeInSeconds pulumi.IntPtrOutput `pulumi:"maximumRecordAgeInSeconds"`
 	// (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
 	MaximumRetryAttempts pulumi.IntPtrOutput `pulumi:"maximumRetryAttempts"`
-	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 	MetricsConfig EventSourceMappingMetricsConfigPtrOutput `pulumi:"metricsConfig"`
 	// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
 	ParallelizationFactor pulumi.IntPtrOutput `pulumi:"parallelizationFactor"`
-	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
 	ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrOutput `pulumi:"provisionedPollerConfig"`
 	// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
 	Queues pulumi.StringArrayOutput `pulumi:"queues"`
@@ -222,11 +222,11 @@ type eventSourceMappingArgs struct {
 	MaximumRecordAgeInSeconds *int `pulumi:"maximumRecordAgeInSeconds"`
 	// (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
 	MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"`
-	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 	MetricsConfig *EventSourceMappingMetricsConfig `pulumi:"metricsConfig"`
 	// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
 	ParallelizationFactor *int `pulumi:"parallelizationFactor"`
-	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
 	ProvisionedPollerConfig *EventSourceMappingProvisionedPollerConfig `pulumi:"provisionedPollerConfig"`
 	// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
 	Queues []string `pulumi:"queues"`
@@ -310,11 +310,11 @@ type EventSourceMappingArgs struct {
 	MaximumRecordAgeInSeconds pulumi.IntPtrInput
 	// (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
 	MaximumRetryAttempts pulumi.IntPtrInput
-	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 	MetricsConfig EventSourceMappingMetricsConfigPtrInput
 	// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
 	ParallelizationFactor pulumi.IntPtrInput
-	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
 	ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrInput
 	// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
 	Queues pulumi.StringArrayInput
@@ -496,7 +496,7 @@ func (o EventSourceMappingOutput) MaximumRetryAttempts() pulumi.IntPtrOutput {
 	return o.ApplyT(func(v *EventSourceMapping) pulumi.IntPtrOutput { return v.MaximumRetryAttempts }).(pulumi.IntPtrOutput)
 }
 
-// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 func (o EventSourceMappingOutput) MetricsConfig() EventSourceMappingMetricsConfigPtrOutput {
 	return o.ApplyT(func(v *EventSourceMapping) EventSourceMappingMetricsConfigPtrOutput { return v.MetricsConfig }).(EventSourceMappingMetricsConfigPtrOutput)
 }
@@ -506,7 +506,7 @@ func (o EventSourceMappingOutput) ParallelizationFactor() pulumi.IntPtrOutput {
 	return o.ApplyT(func(v *EventSourceMapping) pulumi.IntPtrOutput { return v.ParallelizationFactor }).(pulumi.IntPtrOutput)
 }
 
-// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
 func (o EventSourceMappingOutput) ProvisionedPollerConfig() EventSourceMappingProvisionedPollerConfigPtrOutput {
 	return o.ApplyT(func(v *EventSourceMapping) EventSourceMappingProvisionedPollerConfigPtrOutput {
 		return v.ProvisionedPollerConfig
diff --git a/sdk/go/aws/lambda/getEventSourceMapping.go b/sdk/go/aws/lambda/getEventSourceMapping.go
index 8f6ea90ee6..ec70d1c2cd 100644
--- a/sdk/go/aws/lambda/getEventSourceMapping.go
+++ b/sdk/go/aws/lambda/getEventSourceMapping.go
@@ -86,11 +86,11 @@ type LookupEventSourceMappingResult struct {
 	MaximumRecordAgeInSeconds *int `pulumi:"maximumRecordAgeInSeconds"`
 	// (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
 	MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"`
-	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+	// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 	MetricsConfig *EventSourceMappingMetricsConfig `pulumi:"metricsConfig"`
 	// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
 	ParallelizationFactor *int `pulumi:"parallelizationFactor"`
-	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+	// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
 	ProvisionedPollerConfig *EventSourceMappingProvisionedPollerConfig `pulumi:"provisionedPollerConfig"`
 	// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
 	Queues []string `pulumi:"queues"`
@@ -250,7 +250,7 @@ func (o LookupEventSourceMappingResultOutput) MaximumRetryAttempts() pulumi.IntP
 	return o.ApplyT(func(v LookupEventSourceMappingResult) *int { return v.MaximumRetryAttempts }).(pulumi.IntPtrOutput)
 }
 
-// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+// The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 func (o LookupEventSourceMappingResultOutput) MetricsConfig() EventSourceMappingMetricsConfigPtrOutput {
 	return o.ApplyT(func(v LookupEventSourceMappingResult) *EventSourceMappingMetricsConfig { return v.MetricsConfig }).(EventSourceMappingMetricsConfigPtrOutput)
 }
@@ -260,7 +260,7 @@ func (o LookupEventSourceMappingResultOutput) ParallelizationFactor() pulumi.Int
 	return o.ApplyT(func(v LookupEventSourceMappingResult) *int { return v.ParallelizationFactor }).(pulumi.IntPtrOutput)
 }
 
-// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+// (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
 func (o LookupEventSourceMappingResultOutput) ProvisionedPollerConfig() EventSourceMappingProvisionedPollerConfigPtrOutput {
 	return o.ApplyT(func(v LookupEventSourceMappingResult) *EventSourceMappingProvisionedPollerConfig {
 		return v.ProvisionedPollerConfig
diff --git a/sdk/go/aws/lambda/pulumiTypes.go b/sdk/go/aws/lambda/pulumiTypes.go
index 65958792b7..881f4d7a0f 100644
--- a/sdk/go/aws/lambda/pulumiTypes.go
+++ b/sdk/go/aws/lambda/pulumiTypes.go
@@ -1919,8 +1919,9 @@ func (o EventSourceMappingFilterCriteriaPtrOutput) Filters() EventSourceMappingF
 	}).(EventSourceMappingFilterArrayOutput)
 }
 
+// The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
 type EventSourceMappingMetricsConfig struct {
-	// Metric groups to enable.
+	// The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 	Metrics []EventSourceMappingMetricsConfigMetricsItem `pulumi:"metrics"`
 }
 
@@ -1935,8 +1936,9 @@ type EventSourceMappingMetricsConfigInput interface {
 	ToEventSourceMappingMetricsConfigOutputWithContext(context.Context) EventSourceMappingMetricsConfigOutput
 }
 
+// The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
 type EventSourceMappingMetricsConfigArgs struct {
-	// Metric groups to enable.
+	// The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 	Metrics EventSourceMappingMetricsConfigMetricsItemArrayInput `pulumi:"metrics"`
 }
 
@@ -1993,6 +1995,7 @@ func (i *eventSourceMappingMetricsConfigPtrType) ToEventSourceMappingMetricsConf
 	return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigPtrOutput)
 }
 
+// The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
 type EventSourceMappingMetricsConfigOutput struct{ *pulumi.OutputState }
 
 func (EventSourceMappingMetricsConfigOutput) ElementType() reflect.Type {
@@ -2017,7 +2020,7 @@ func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfig
 	}).(EventSourceMappingMetricsConfigPtrOutput)
 }
 
-// Metric groups to enable.
+// The metrics you want your event source mapping to produce. Include “EventCount“ to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 func (o EventSourceMappingMetricsConfigOutput) Metrics() EventSourceMappingMetricsConfigMetricsItemArrayOutput {
 	return o.ApplyT(func(v EventSourceMappingMetricsConfig) []EventSourceMappingMetricsConfigMetricsItem { return v.Metrics }).(EventSourceMappingMetricsConfigMetricsItemArrayOutput)
 }
@@ -2046,7 +2049,7 @@ func (o EventSourceMappingMetricsConfigPtrOutput) Elem() EventSourceMappingMetri
 	}).(EventSourceMappingMetricsConfigOutput)
 }
 
-// Metric groups to enable.
+// The metrics you want your event source mapping to produce. Include “EventCount“ to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
 func (o EventSourceMappingMetricsConfigPtrOutput) Metrics() EventSourceMappingMetricsConfigMetricsItemArrayOutput {
 	return o.ApplyT(func(v *EventSourceMappingMetricsConfig) []EventSourceMappingMetricsConfigMetricsItem {
 		if v == nil {
@@ -2059,9 +2062,8 @@ func (o EventSourceMappingMetricsConfigPtrOutput) Metrics() EventSourceMappingMe
 // A destination for events that failed processing.
 type EventSourceMappingOnFailure struct {
 	// The Amazon Resource Name (ARN) of the destination resource.
-	//  To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-	//  To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-	//  To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+	//  To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+	//  To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
 	Destination *string `pulumi:"destination"`
 }
 
@@ -2079,9 +2081,8 @@ type EventSourceMappingOnFailureInput interface {
 // A destination for events that failed processing.
 type EventSourceMappingOnFailureArgs struct {
 	// The Amazon Resource Name (ARN) of the destination resource.
-	//  To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-	//  To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-	//  To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+	//  To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+	//  To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
 	Destination pulumi.StringPtrInput `pulumi:"destination"`
 }
 
@@ -2165,9 +2166,8 @@ func (o EventSourceMappingOnFailureOutput) ToEventSourceMappingOnFailurePtrOutpu
 
 // The Amazon Resource Name (ARN) of the destination resource.
 //
-//	To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-//	To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-//	To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+//	To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+//	To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
 func (o EventSourceMappingOnFailureOutput) Destination() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v EventSourceMappingOnFailure) *string { return v.Destination }).(pulumi.StringPtrOutput)
 }
@@ -2198,9 +2198,8 @@ func (o EventSourceMappingOnFailurePtrOutput) Elem() EventSourceMappingOnFailure
 
 // The Amazon Resource Name (ARN) of the destination resource.
 //
-//	To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-//	To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-//	To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+//	To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+//	To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
 func (o EventSourceMappingOnFailurePtrOutput) Destination() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *EventSourceMappingOnFailure) *string {
 		if v == nil {
@@ -2210,6 +2209,7 @@ func (o EventSourceMappingOnFailurePtrOutput) Destination() pulumi.StringPtrOutp
 	}).(pulumi.StringPtrOutput)
 }
 
+// The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
 type EventSourceMappingProvisionedPollerConfig struct {
 	// The maximum number of event pollers this event source can scale up to.
 	MaximumPollers *int `pulumi:"maximumPollers"`
@@ -2228,6 +2228,7 @@ type EventSourceMappingProvisionedPollerConfigInput interface {
 	ToEventSourceMappingProvisionedPollerConfigOutputWithContext(context.Context) EventSourceMappingProvisionedPollerConfigOutput
 }
 
+// The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
 type EventSourceMappingProvisionedPollerConfigArgs struct {
 	// The maximum number of event pollers this event source can scale up to.
 	MaximumPollers pulumi.IntPtrInput `pulumi:"maximumPollers"`
@@ -2288,6 +2289,7 @@ func (i *eventSourceMappingProvisionedPollerConfigPtrType) ToEventSourceMappingP
 	return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigPtrOutput)
 }
 
+// The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
 type EventSourceMappingProvisionedPollerConfigOutput struct{ *pulumi.OutputState }
 
 func (EventSourceMappingProvisionedPollerConfigOutput) ElementType() reflect.Type {
diff --git a/sdk/go/aws/qbusiness/application.go b/sdk/go/aws/qbusiness/application.go
index eccf66f0ef..5393535195 100644
--- a/sdk/go/aws/qbusiness/application.go
+++ b/sdk/go/aws/qbusiness/application.go
@@ -47,7 +47,8 @@ type Application struct {
 	// Configuration information about chat response personalization. For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) .
 	PersonalizationConfiguration ApplicationPersonalizationConfigurationPtrOutput `pulumi:"personalizationConfiguration"`
 	// Configuration information about Amazon Q Apps.
-	QAppsConfiguration ApplicationQAppsConfigurationPtrOutput `pulumi:"qAppsConfiguration"`
+	QAppsConfiguration      ApplicationQAppsConfigurationPtrOutput      `pulumi:"qAppsConfiguration"`
+	QuickSightConfiguration ApplicationQuickSightConfigurationPtrOutput `pulumi:"quickSightConfiguration"`
 	// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
 	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
 	// The status of the Amazon Q Business application. The application is ready to use when the status is `ACTIVE` .
@@ -73,6 +74,7 @@ func NewApplication(ctx *pulumi.Context,
 		"encryptionConfiguration",
 		"iamIdentityProviderArn",
 		"identityType",
+		"quickSightConfiguration",
 	})
 	opts = append(opts, replaceOnChanges)
 	opts = internal.PkgResourceDefaultOpts(opts)
@@ -130,7 +132,8 @@ type applicationArgs struct {
 	// Configuration information about chat response personalization. For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) .
 	PersonalizationConfiguration *ApplicationPersonalizationConfiguration `pulumi:"personalizationConfiguration"`
 	// Configuration information about Amazon Q Apps.
-	QAppsConfiguration *ApplicationQAppsConfiguration `pulumi:"qAppsConfiguration"`
+	QAppsConfiguration      *ApplicationQAppsConfiguration      `pulumi:"qAppsConfiguration"`
+	QuickSightConfiguration *ApplicationQuickSightConfiguration `pulumi:"quickSightConfiguration"`
 	// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
 	RoleArn *string `pulumi:"roleArn"`
 	// A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
@@ -161,7 +164,8 @@ type ApplicationArgs struct {
 	// Configuration information about chat response personalization. For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) .
 	PersonalizationConfiguration ApplicationPersonalizationConfigurationPtrInput
 	// Configuration information about Amazon Q Apps.
-	QAppsConfiguration ApplicationQAppsConfigurationPtrInput
+	QAppsConfiguration      ApplicationQAppsConfigurationPtrInput
+	QuickSightConfiguration ApplicationQuickSightConfigurationPtrInput
 	// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
 	RoleArn pulumi.StringPtrInput
 	// A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
@@ -285,6 +289,10 @@ func (o ApplicationOutput) QAppsConfiguration() ApplicationQAppsConfigurationPtr
 	return o.ApplyT(func(v *Application) ApplicationQAppsConfigurationPtrOutput { return v.QAppsConfiguration }).(ApplicationQAppsConfigurationPtrOutput)
 }
 
+func (o ApplicationOutput) QuickSightConfiguration() ApplicationQuickSightConfigurationPtrOutput {
+	return o.ApplyT(func(v *Application) ApplicationQuickSightConfigurationPtrOutput { return v.QuickSightConfiguration }).(ApplicationQuickSightConfigurationPtrOutput)
+}
+
 // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
 func (o ApplicationOutput) RoleArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RoleArn }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/aws/qbusiness/dataAccessor.go b/sdk/go/aws/qbusiness/dataAccessor.go
new file mode 100644
index 0000000000..f755c26f4a
--- /dev/null
+++ b/sdk/go/aws/qbusiness/dataAccessor.go
@@ -0,0 +1,182 @@
+// Code generated by pulumi-language-go DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package qbusiness
+
+import (
+	"context"
+	"reflect"
+
+	"errors"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal"
+	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+)
+
+// Definition of AWS::QBusiness::DataAccessor Resource Type
+type DataAccessor struct {
+	pulumi.CustomResourceState
+
+	ActionConfigurations DataAccessorActionConfigurationArrayOutput `pulumi:"actionConfigurations"`
+	ApplicationId        pulumi.StringPtrOutput                     `pulumi:"applicationId"`
+	CreatedAt            pulumi.StringOutput                        `pulumi:"createdAt"`
+	DataAccessorArn      pulumi.StringOutput                        `pulumi:"dataAccessorArn"`
+	DataAccessorId       pulumi.StringOutput                        `pulumi:"dataAccessorId"`
+	DisplayName          pulumi.StringOutput                        `pulumi:"displayName"`
+	IdcApplicationArn    pulumi.StringOutput                        `pulumi:"idcApplicationArn"`
+	Principal            pulumi.StringOutput                        `pulumi:"principal"`
+	Tags                 aws.TagArrayOutput                         `pulumi:"tags"`
+	UpdatedAt            pulumi.StringOutput                        `pulumi:"updatedAt"`
+}
+
+// NewDataAccessor registers a new resource with the given unique name, arguments, and options.
+func NewDataAccessor(ctx *pulumi.Context,
+	name string, args *DataAccessorArgs, opts ...pulumi.ResourceOption) (*DataAccessor, error) {
+	if args == nil {
+		return nil, errors.New("missing one or more required arguments")
+	}
+
+	if args.ActionConfigurations == nil {
+		return nil, errors.New("invalid value for required argument 'ActionConfigurations'")
+	}
+	if args.DisplayName == nil {
+		return nil, errors.New("invalid value for required argument 'DisplayName'")
+	}
+	if args.Principal == nil {
+		return nil, errors.New("invalid value for required argument 'Principal'")
+	}
+	replaceOnChanges := pulumi.ReplaceOnChanges([]string{
+		"applicationId",
+		"principal",
+	})
+	opts = append(opts, replaceOnChanges)
+	opts = internal.PkgResourceDefaultOpts(opts)
+	var resource DataAccessor
+	err := ctx.RegisterResource("aws-native:qbusiness:DataAccessor", name, args, &resource, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &resource, nil
+}
+
+// GetDataAccessor gets an existing DataAccessor resource's state with the given name, ID, and optional
+// state properties that are used to uniquely qualify the lookup (nil if not required).
+func GetDataAccessor(ctx *pulumi.Context,
+	name string, id pulumi.IDInput, state *DataAccessorState, opts ...pulumi.ResourceOption) (*DataAccessor, error) {
+	var resource DataAccessor
+	err := ctx.ReadResource("aws-native:qbusiness:DataAccessor", name, id, state, &resource, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &resource, nil
+}
+
+// Input properties used for looking up and filtering DataAccessor resources.
+type dataAccessorState struct {
+}
+
+type DataAccessorState struct {
+}
+
+func (DataAccessorState) ElementType() reflect.Type {
+	return reflect.TypeOf((*dataAccessorState)(nil)).Elem()
+}
+
+type dataAccessorArgs struct {
+	ActionConfigurations []DataAccessorActionConfiguration `pulumi:"actionConfigurations"`
+	ApplicationId        *string                           `pulumi:"applicationId"`
+	DisplayName          string                            `pulumi:"displayName"`
+	Principal            string                            `pulumi:"principal"`
+	Tags                 []aws.Tag                         `pulumi:"tags"`
+}
+
+// The set of arguments for constructing a DataAccessor resource.
+type DataAccessorArgs struct {
+	ActionConfigurations DataAccessorActionConfigurationArrayInput
+	ApplicationId        pulumi.StringPtrInput
+	DisplayName          pulumi.StringInput
+	Principal            pulumi.StringInput
+	Tags                 aws.TagArrayInput
+}
+
+func (DataAccessorArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*dataAccessorArgs)(nil)).Elem()
+}
+
+type DataAccessorInput interface {
+	pulumi.Input
+
+	ToDataAccessorOutput() DataAccessorOutput
+	ToDataAccessorOutputWithContext(ctx context.Context) DataAccessorOutput
+}
+
+func (*DataAccessor) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessor)(nil)).Elem()
+}
+
+func (i *DataAccessor) ToDataAccessorOutput() DataAccessorOutput {
+	return i.ToDataAccessorOutputWithContext(context.Background())
+}
+
+func (i *DataAccessor) ToDataAccessorOutputWithContext(ctx context.Context) DataAccessorOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorOutput)
+}
+
+type DataAccessorOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessor)(nil)).Elem()
+}
+
+func (o DataAccessorOutput) ToDataAccessorOutput() DataAccessorOutput {
+	return o
+}
+
+func (o DataAccessorOutput) ToDataAccessorOutputWithContext(ctx context.Context) DataAccessorOutput {
+	return o
+}
+
+func (o DataAccessorOutput) ActionConfigurations() DataAccessorActionConfigurationArrayOutput {
+	return o.ApplyT(func(v *DataAccessor) DataAccessorActionConfigurationArrayOutput { return v.ActionConfigurations }).(DataAccessorActionConfigurationArrayOutput)
+}
+
+func (o DataAccessorOutput) ApplicationId() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringPtrOutput { return v.ApplicationId }).(pulumi.StringPtrOutput)
+}
+
+func (o DataAccessorOutput) CreatedAt() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorOutput) DataAccessorArn() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.DataAccessorArn }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorOutput) DataAccessorId() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.DataAccessorId }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorOutput) DisplayName() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorOutput) IdcApplicationArn() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.IdcApplicationArn }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorOutput) Principal() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.Principal }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorOutput) Tags() aws.TagArrayOutput {
+	return o.ApplyT(func(v *DataAccessor) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput)
+}
+
+func (o DataAccessorOutput) UpdatedAt() pulumi.StringOutput {
+	return o.ApplyT(func(v *DataAccessor) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput)
+}
+
+func init() {
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorInput)(nil)).Elem(), &DataAccessor{})
+	pulumi.RegisterOutputType(DataAccessorOutput{})
+}
diff --git a/sdk/go/aws/qbusiness/dataSource.go b/sdk/go/aws/qbusiness/dataSource.go
index 85bf570071..1378a73a70 100644
--- a/sdk/go/aws/qbusiness/dataSource.go
+++ b/sdk/go/aws/qbusiness/dataSource.go
@@ -48,7 +48,8 @@ type DataSource struct {
 	// For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
 	DocumentEnrichmentConfiguration DataSourceDocumentEnrichmentConfigurationPtrOutput `pulumi:"documentEnrichmentConfiguration"`
 	// The identifier of the index the data source is attached to.
-	IndexId pulumi.StringOutput `pulumi:"indexId"`
+	IndexId                      pulumi.StringOutput                             `pulumi:"indexId"`
+	MediaExtractionConfiguration DataSourceMediaExtractionConfigurationPtrOutput `pulumi:"mediaExtractionConfiguration"`
 	// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
 	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
 	// The status of the Amazon Q Business data source.
@@ -149,7 +150,8 @@ type dataSourceArgs struct {
 	// For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
 	DocumentEnrichmentConfiguration *DataSourceDocumentEnrichmentConfiguration `pulumi:"documentEnrichmentConfiguration"`
 	// The identifier of the index the data source is attached to.
-	IndexId string `pulumi:"indexId"`
+	IndexId                      string                                  `pulumi:"indexId"`
+	MediaExtractionConfiguration *DataSourceMediaExtractionConfiguration `pulumi:"mediaExtractionConfiguration"`
 	// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
 	RoleArn *string `pulumi:"roleArn"`
 	// Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index. If you don't set a schedule, Amazon Q Business won't periodically update the index.
@@ -189,7 +191,8 @@ type DataSourceArgs struct {
 	// For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
 	DocumentEnrichmentConfiguration DataSourceDocumentEnrichmentConfigurationPtrInput
 	// The identifier of the index the data source is attached to.
-	IndexId pulumi.StringInput
+	IndexId                      pulumi.StringInput
+	MediaExtractionConfiguration DataSourceMediaExtractionConfigurationPtrInput
 	// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
 	RoleArn pulumi.StringPtrInput
 	// Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index. If you don't set a schedule, Amazon Q Business won't periodically update the index.
@@ -300,6 +303,12 @@ func (o DataSourceOutput) IndexId() pulumi.StringOutput {
 	return o.ApplyT(func(v *DataSource) pulumi.StringOutput { return v.IndexId }).(pulumi.StringOutput)
 }
 
+func (o DataSourceOutput) MediaExtractionConfiguration() DataSourceMediaExtractionConfigurationPtrOutput {
+	return o.ApplyT(func(v *DataSource) DataSourceMediaExtractionConfigurationPtrOutput {
+		return v.MediaExtractionConfiguration
+	}).(DataSourceMediaExtractionConfigurationPtrOutput)
+}
+
 // The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
 func (o DataSourceOutput) RoleArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *DataSource) pulumi.StringPtrOutput { return v.RoleArn }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/aws/qbusiness/getDataAccessor.go b/sdk/go/aws/qbusiness/getDataAccessor.go
new file mode 100644
index 0000000000..7fdf839cc0
--- /dev/null
+++ b/sdk/go/aws/qbusiness/getDataAccessor.go
@@ -0,0 +1,118 @@
+// Code generated by pulumi-language-go DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package qbusiness
+
+import (
+	"context"
+	"reflect"
+
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal"
+	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+)
+
+// Definition of AWS::QBusiness::DataAccessor Resource Type
+func LookupDataAccessor(ctx *pulumi.Context, args *LookupDataAccessorArgs, opts ...pulumi.InvokeOption) (*LookupDataAccessorResult, error) {
+	opts = internal.PkgInvokeDefaultOpts(opts)
+	var rv LookupDataAccessorResult
+	err := ctx.Invoke("aws-native:qbusiness:getDataAccessor", args, &rv, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &rv, nil
+}
+
+type LookupDataAccessorArgs struct {
+	ApplicationId  string `pulumi:"applicationId"`
+	DataAccessorId string `pulumi:"dataAccessorId"`
+}
+
+type LookupDataAccessorResult struct {
+	ActionConfigurations []DataAccessorActionConfiguration `pulumi:"actionConfigurations"`
+	CreatedAt            *string                           `pulumi:"createdAt"`
+	DataAccessorArn      *string                           `pulumi:"dataAccessorArn"`
+	DataAccessorId       *string                           `pulumi:"dataAccessorId"`
+	DisplayName          *string                           `pulumi:"displayName"`
+	IdcApplicationArn    *string                           `pulumi:"idcApplicationArn"`
+	Tags                 []aws.Tag                         `pulumi:"tags"`
+	UpdatedAt            *string                           `pulumi:"updatedAt"`
+}
+
+func LookupDataAccessorOutput(ctx *pulumi.Context, args LookupDataAccessorOutputArgs, opts ...pulumi.InvokeOption) LookupDataAccessorResultOutput {
+	return pulumi.ToOutputWithContext(context.Background(), args).
+		ApplyT(func(v interface{}) (LookupDataAccessorResultOutput, error) {
+			args := v.(LookupDataAccessorArgs)
+			opts = internal.PkgInvokeDefaultOpts(opts)
+			var rv LookupDataAccessorResult
+			secret, err := ctx.InvokePackageRaw("aws-native:qbusiness:getDataAccessor", args, &rv, "", opts...)
+			if err != nil {
+				return LookupDataAccessorResultOutput{}, err
+			}
+
+			output := pulumi.ToOutput(rv).(LookupDataAccessorResultOutput)
+			if secret {
+				return pulumi.ToSecret(output).(LookupDataAccessorResultOutput), nil
+			}
+			return output, nil
+		}).(LookupDataAccessorResultOutput)
+}
+
+type LookupDataAccessorOutputArgs struct {
+	ApplicationId  pulumi.StringInput `pulumi:"applicationId"`
+	DataAccessorId pulumi.StringInput `pulumi:"dataAccessorId"`
+}
+
+func (LookupDataAccessorOutputArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*LookupDataAccessorArgs)(nil)).Elem()
+}
+
+type LookupDataAccessorResultOutput struct{ *pulumi.OutputState }
+
+func (LookupDataAccessorResultOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*LookupDataAccessorResult)(nil)).Elem()
+}
+
+func (o LookupDataAccessorResultOutput) ToLookupDataAccessorResultOutput() LookupDataAccessorResultOutput {
+	return o
+}
+
+func (o LookupDataAccessorResultOutput) ToLookupDataAccessorResultOutputWithContext(ctx context.Context) LookupDataAccessorResultOutput {
+	return o
+}
+
+func (o LookupDataAccessorResultOutput) ActionConfigurations() DataAccessorActionConfigurationArrayOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) []DataAccessorActionConfiguration { return v.ActionConfigurations }).(DataAccessorActionConfigurationArrayOutput)
+}
+
+func (o LookupDataAccessorResultOutput) CreatedAt() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput)
+}
+
+func (o LookupDataAccessorResultOutput) DataAccessorArn() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) *string { return v.DataAccessorArn }).(pulumi.StringPtrOutput)
+}
+
+func (o LookupDataAccessorResultOutput) DataAccessorId() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) *string { return v.DataAccessorId }).(pulumi.StringPtrOutput)
+}
+
+func (o LookupDataAccessorResultOutput) DisplayName() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) *string { return v.DisplayName }).(pulumi.StringPtrOutput)
+}
+
+func (o LookupDataAccessorResultOutput) IdcApplicationArn() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) *string { return v.IdcApplicationArn }).(pulumi.StringPtrOutput)
+}
+
+func (o LookupDataAccessorResultOutput) Tags() aws.TagArrayOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput)
+}
+
+func (o LookupDataAccessorResultOutput) UpdatedAt() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupDataAccessorResult) *string { return v.UpdatedAt }).(pulumi.StringPtrOutput)
+}
+
+func init() {
+	pulumi.RegisterOutputType(LookupDataAccessorResultOutput{})
+}
diff --git a/sdk/go/aws/qbusiness/getDataSource.go b/sdk/go/aws/qbusiness/getDataSource.go
index 3329cbc4ee..a5bb02e930 100644
--- a/sdk/go/aws/qbusiness/getDataSource.go
+++ b/sdk/go/aws/qbusiness/getDataSource.go
@@ -61,6 +61,7 @@ type LookupDataSourceResult struct {
 	//
 	// For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
 	DocumentEnrichmentConfiguration *DataSourceDocumentEnrichmentConfiguration `pulumi:"documentEnrichmentConfiguration"`
+	MediaExtractionConfiguration    *DataSourceMediaExtractionConfiguration    `pulumi:"mediaExtractionConfiguration"`
 	// The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
 	RoleArn *string `pulumi:"roleArn"`
 	// The status of the Amazon Q Business data source.
@@ -176,6 +177,12 @@ func (o LookupDataSourceResultOutput) DocumentEnrichmentConfiguration() DataSour
 	}).(DataSourceDocumentEnrichmentConfigurationPtrOutput)
 }
 
+func (o LookupDataSourceResultOutput) MediaExtractionConfiguration() DataSourceMediaExtractionConfigurationPtrOutput {
+	return o.ApplyT(func(v LookupDataSourceResult) *DataSourceMediaExtractionConfiguration {
+		return v.MediaExtractionConfiguration
+	}).(DataSourceMediaExtractionConfigurationPtrOutput)
+}
+
 // The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
 func (o LookupDataSourceResultOutput) RoleArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupDataSourceResult) *string { return v.RoleArn }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/aws/qbusiness/getWebExperience.go b/sdk/go/aws/qbusiness/getWebExperience.go
index 594ba81bd1..47e83ec071 100644
--- a/sdk/go/aws/qbusiness/getWebExperience.go
+++ b/sdk/go/aws/qbusiness/getWebExperience.go
@@ -32,7 +32,8 @@ type LookupWebExperienceArgs struct {
 
 type LookupWebExperienceResult struct {
 	// The Unix timestamp when the Amazon Q Business application was last updated.
-	CreatedAt *string `pulumi:"createdAt"`
+	CreatedAt                  *string                                  `pulumi:"createdAt"`
+	CustomizationConfiguration *WebExperienceCustomizationConfiguration `pulumi:"customizationConfiguration"`
 	// The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
 	DefaultEndpoint *string `pulumi:"defaultEndpoint"`
 	// Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
@@ -114,6 +115,12 @@ func (o LookupWebExperienceResultOutput) CreatedAt() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupWebExperienceResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput)
 }
 
+func (o LookupWebExperienceResultOutput) CustomizationConfiguration() WebExperienceCustomizationConfigurationPtrOutput {
+	return o.ApplyT(func(v LookupWebExperienceResult) *WebExperienceCustomizationConfiguration {
+		return v.CustomizationConfiguration
+	}).(WebExperienceCustomizationConfigurationPtrOutput)
+}
+
 // The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
 func (o LookupWebExperienceResultOutput) DefaultEndpoint() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupWebExperienceResult) *string { return v.DefaultEndpoint }).(pulumi.StringPtrOutput)
diff --git a/sdk/go/aws/qbusiness/init.go b/sdk/go/aws/qbusiness/init.go
index 6af3f23290..a7246afec3 100644
--- a/sdk/go/aws/qbusiness/init.go
+++ b/sdk/go/aws/qbusiness/init.go
@@ -23,10 +23,14 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
 	switch typ {
 	case "aws-native:qbusiness:Application":
 		r = &Application{}
+	case "aws-native:qbusiness:DataAccessor":
+		r = &DataAccessor{}
 	case "aws-native:qbusiness:DataSource":
 		r = &DataSource{}
 	case "aws-native:qbusiness:Index":
 		r = &Index{}
+	case "aws-native:qbusiness:Permission":
+		r = &Permission{}
 	case "aws-native:qbusiness:Plugin":
 		r = &Plugin{}
 	case "aws-native:qbusiness:Retriever":
diff --git a/sdk/go/aws/qbusiness/permission.go b/sdk/go/aws/qbusiness/permission.go
new file mode 100644
index 0000000000..50e4cc8872
--- /dev/null
+++ b/sdk/go/aws/qbusiness/permission.go
@@ -0,0 +1,154 @@
+// Code generated by pulumi-language-go DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package qbusiness
+
+import (
+	"context"
+	"reflect"
+
+	"errors"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal"
+	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+)
+
+// Definition of AWS::QBusiness::Permission Resource Type
+type Permission struct {
+	pulumi.CustomResourceState
+
+	Actions       pulumi.StringArrayOutput `pulumi:"actions"`
+	ApplicationId pulumi.StringOutput      `pulumi:"applicationId"`
+	Principal     pulumi.StringOutput      `pulumi:"principal"`
+	StatementId   pulumi.StringOutput      `pulumi:"statementId"`
+}
+
+// NewPermission registers a new resource with the given unique name, arguments, and options.
+func NewPermission(ctx *pulumi.Context,
+	name string, args *PermissionArgs, opts ...pulumi.ResourceOption) (*Permission, error) {
+	if args == nil {
+		return nil, errors.New("missing one or more required arguments")
+	}
+
+	if args.Actions == nil {
+		return nil, errors.New("invalid value for required argument 'Actions'")
+	}
+	if args.ApplicationId == nil {
+		return nil, errors.New("invalid value for required argument 'ApplicationId'")
+	}
+	if args.Principal == nil {
+		return nil, errors.New("invalid value for required argument 'Principal'")
+	}
+	if args.StatementId == nil {
+		return nil, errors.New("invalid value for required argument 'StatementId'")
+	}
+	replaceOnChanges := pulumi.ReplaceOnChanges([]string{
+		"actions[*]",
+		"applicationId",
+		"principal",
+		"statementId",
+	})
+	opts = append(opts, replaceOnChanges)
+	opts = internal.PkgResourceDefaultOpts(opts)
+	var resource Permission
+	err := ctx.RegisterResource("aws-native:qbusiness:Permission", name, args, &resource, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &resource, nil
+}
+
+// GetPermission gets an existing Permission resource's state with the given name, ID, and optional
+// state properties that are used to uniquely qualify the lookup (nil if not required).
+func GetPermission(ctx *pulumi.Context,
+	name string, id pulumi.IDInput, state *PermissionState, opts ...pulumi.ResourceOption) (*Permission, error) {
+	var resource Permission
+	err := ctx.ReadResource("aws-native:qbusiness:Permission", name, id, state, &resource, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &resource, nil
+}
+
+// Input properties used for looking up and filtering Permission resources.
+type permissionState struct {
+}
+
+type PermissionState struct {
+}
+
+func (PermissionState) ElementType() reflect.Type {
+	return reflect.TypeOf((*permissionState)(nil)).Elem()
+}
+
+type permissionArgs struct {
+	Actions       []string `pulumi:"actions"`
+	ApplicationId string   `pulumi:"applicationId"`
+	Principal     string   `pulumi:"principal"`
+	StatementId   string   `pulumi:"statementId"`
+}
+
+// The set of arguments for constructing a Permission resource.
+type PermissionArgs struct {
+	Actions       pulumi.StringArrayInput
+	ApplicationId pulumi.StringInput
+	Principal     pulumi.StringInput
+	StatementId   pulumi.StringInput
+}
+
+func (PermissionArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*permissionArgs)(nil)).Elem()
+}
+
+type PermissionInput interface {
+	pulumi.Input
+
+	ToPermissionOutput() PermissionOutput
+	ToPermissionOutputWithContext(ctx context.Context) PermissionOutput
+}
+
+func (*Permission) ElementType() reflect.Type {
+	return reflect.TypeOf((**Permission)(nil)).Elem()
+}
+
+func (i *Permission) ToPermissionOutput() PermissionOutput {
+	return i.ToPermissionOutputWithContext(context.Background())
+}
+
+func (i *Permission) ToPermissionOutputWithContext(ctx context.Context) PermissionOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PermissionOutput)
+}
+
+type PermissionOutput struct{ *pulumi.OutputState }
+
+func (PermissionOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**Permission)(nil)).Elem()
+}
+
+func (o PermissionOutput) ToPermissionOutput() PermissionOutput {
+	return o
+}
+
+func (o PermissionOutput) ToPermissionOutputWithContext(ctx context.Context) PermissionOutput {
+	return o
+}
+
+func (o PermissionOutput) Actions() pulumi.StringArrayOutput {
+	return o.ApplyT(func(v *Permission) pulumi.StringArrayOutput { return v.Actions }).(pulumi.StringArrayOutput)
+}
+
+func (o PermissionOutput) ApplicationId() pulumi.StringOutput {
+	return o.ApplyT(func(v *Permission) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput)
+}
+
+func (o PermissionOutput) Principal() pulumi.StringOutput {
+	return o.ApplyT(func(v *Permission) pulumi.StringOutput { return v.Principal }).(pulumi.StringOutput)
+}
+
+func (o PermissionOutput) StatementId() pulumi.StringOutput {
+	return o.ApplyT(func(v *Permission) pulumi.StringOutput { return v.StatementId }).(pulumi.StringOutput)
+}
+
+func init() {
+	pulumi.RegisterInputType(reflect.TypeOf((*PermissionInput)(nil)).Elem(), &Permission{})
+	pulumi.RegisterOutputType(PermissionOutput{})
+}
diff --git a/sdk/go/aws/qbusiness/plugin.go b/sdk/go/aws/qbusiness/plugin.go
index c724454b3d..3b6eeb5854 100644
--- a/sdk/go/aws/qbusiness/plugin.go
+++ b/sdk/go/aws/qbusiness/plugin.go
@@ -18,7 +18,7 @@ type Plugin struct {
 	pulumi.CustomResourceState
 
 	// The identifier of the application that will contain the plugin.
-	ApplicationId pulumi.StringOutput `pulumi:"applicationId"`
+	ApplicationId pulumi.StringPtrOutput `pulumi:"applicationId"`
 	// Authentication configuration information for an Amazon Q Business plugin.
 	AuthConfiguration pulumi.AnyOutput `pulumi:"authConfiguration"`
 	// The current status of a plugin. A plugin is modified asynchronously.
@@ -52,9 +52,6 @@ func NewPlugin(ctx *pulumi.Context,
 		return nil, errors.New("missing one or more required arguments")
 	}
 
-	if args.ApplicationId == nil {
-		return nil, errors.New("invalid value for required argument 'ApplicationId'")
-	}
 	if args.AuthConfiguration == nil {
 		return nil, errors.New("invalid value for required argument 'AuthConfiguration'")
 	}
@@ -103,7 +100,7 @@ func (PluginState) ElementType() reflect.Type {
 
 type pluginArgs struct {
 	// The identifier of the application that will contain the plugin.
-	ApplicationId string `pulumi:"applicationId"`
+	ApplicationId *string `pulumi:"applicationId"`
 	// Authentication configuration information for an Amazon Q Business plugin.
 	AuthConfiguration interface{} `pulumi:"authConfiguration"`
 	// Configuration information required to create a custom plugin.
@@ -123,7 +120,7 @@ type pluginArgs struct {
 // The set of arguments for constructing a Plugin resource.
 type PluginArgs struct {
 	// The identifier of the application that will contain the plugin.
-	ApplicationId pulumi.StringInput
+	ApplicationId pulumi.StringPtrInput
 	// Authentication configuration information for an Amazon Q Business plugin.
 	AuthConfiguration pulumi.Input
 	// Configuration information required to create a custom plugin.
@@ -178,8 +175,8 @@ func (o PluginOutput) ToPluginOutputWithContext(ctx context.Context) PluginOutpu
 }
 
 // The identifier of the application that will contain the plugin.
-func (o PluginOutput) ApplicationId() pulumi.StringOutput {
-	return o.ApplyT(func(v *Plugin) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput)
+func (o PluginOutput) ApplicationId() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *Plugin) pulumi.StringPtrOutput { return v.ApplicationId }).(pulumi.StringPtrOutput)
 }
 
 // Authentication configuration information for an Amazon Q Business plugin.
diff --git a/sdk/go/aws/qbusiness/pulumiEnums.go b/sdk/go/aws/qbusiness/pulumiEnums.go
index 8520ea5cf6..2996abcf43 100644
--- a/sdk/go/aws/qbusiness/pulumiEnums.go
+++ b/sdk/go/aws/qbusiness/pulumiEnums.go
@@ -343,9 +343,10 @@ func (in *applicationAutoSubscriptionStatusPtr) ToApplicationAutoSubscriptionSta
 type ApplicationIdentityType string
 
 const (
-	ApplicationIdentityTypeAwsIamIdpSaml = ApplicationIdentityType("AWS_IAM_IDP_SAML")
-	ApplicationIdentityTypeAwsIamIdpOidc = ApplicationIdentityType("AWS_IAM_IDP_OIDC")
-	ApplicationIdentityTypeAwsIamIdc     = ApplicationIdentityType("AWS_IAM_IDC")
+	ApplicationIdentityTypeAwsIamIdpSaml    = ApplicationIdentityType("AWS_IAM_IDP_SAML")
+	ApplicationIdentityTypeAwsIamIdpOidc    = ApplicationIdentityType("AWS_IAM_IDP_OIDC")
+	ApplicationIdentityTypeAwsIamIdc        = ApplicationIdentityType("AWS_IAM_IDC")
+	ApplicationIdentityTypeAwsQuicksightIdp = ApplicationIdentityType("AWS_QUICKSIGHT_IDP")
 )
 
 func (ApplicationIdentityType) ElementType() reflect.Type {
@@ -473,6 +474,7 @@ func (o ApplicationIdentityTypePtrOutput) ToStringPtrOutputWithContext(ctx conte
 //	ApplicationIdentityTypeAwsIamIdpSaml
 //	ApplicationIdentityTypeAwsIamIdpOidc
 //	ApplicationIdentityTypeAwsIamIdc
+//	ApplicationIdentityTypeAwsQuicksightIdp
 type ApplicationIdentityTypeInput interface {
 	pulumi.Input
 
@@ -1604,6 +1606,171 @@ func (in *dataSourceDocumentEnrichmentConditionOperatorPtr) ToDataSourceDocument
 	return pulumi.ToOutputWithContext(ctx, in).(DataSourceDocumentEnrichmentConditionOperatorPtrOutput)
 }
 
+type DataSourceImageExtractionStatus string
+
+const (
+	DataSourceImageExtractionStatusEnabled  = DataSourceImageExtractionStatus("ENABLED")
+	DataSourceImageExtractionStatusDisabled = DataSourceImageExtractionStatus("DISABLED")
+)
+
+func (DataSourceImageExtractionStatus) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataSourceImageExtractionStatus)(nil)).Elem()
+}
+
+func (e DataSourceImageExtractionStatus) ToDataSourceImageExtractionStatusOutput() DataSourceImageExtractionStatusOutput {
+	return pulumi.ToOutput(e).(DataSourceImageExtractionStatusOutput)
+}
+
+func (e DataSourceImageExtractionStatus) ToDataSourceImageExtractionStatusOutputWithContext(ctx context.Context) DataSourceImageExtractionStatusOutput {
+	return pulumi.ToOutputWithContext(ctx, e).(DataSourceImageExtractionStatusOutput)
+}
+
+func (e DataSourceImageExtractionStatus) ToDataSourceImageExtractionStatusPtrOutput() DataSourceImageExtractionStatusPtrOutput {
+	return e.ToDataSourceImageExtractionStatusPtrOutputWithContext(context.Background())
+}
+
+func (e DataSourceImageExtractionStatus) ToDataSourceImageExtractionStatusPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionStatusPtrOutput {
+	return DataSourceImageExtractionStatus(e).ToDataSourceImageExtractionStatusOutputWithContext(ctx).ToDataSourceImageExtractionStatusPtrOutputWithContext(ctx)
+}
+
+func (e DataSourceImageExtractionStatus) ToStringOutput() pulumi.StringOutput {
+	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
+}
+
+func (e DataSourceImageExtractionStatus) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
+	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
+}
+
+func (e DataSourceImageExtractionStatus) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
+}
+
+func (e DataSourceImageExtractionStatus) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
+}
+
+type DataSourceImageExtractionStatusOutput struct{ *pulumi.OutputState }
+
+func (DataSourceImageExtractionStatusOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataSourceImageExtractionStatus)(nil)).Elem()
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToDataSourceImageExtractionStatusOutput() DataSourceImageExtractionStatusOutput {
+	return o
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToDataSourceImageExtractionStatusOutputWithContext(ctx context.Context) DataSourceImageExtractionStatusOutput {
+	return o
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToDataSourceImageExtractionStatusPtrOutput() DataSourceImageExtractionStatusPtrOutput {
+	return o.ToDataSourceImageExtractionStatusPtrOutputWithContext(context.Background())
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToDataSourceImageExtractionStatusPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionStatusPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceImageExtractionStatus) *DataSourceImageExtractionStatus {
+		return &v
+	}).(DataSourceImageExtractionStatusPtrOutput)
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToStringOutput() pulumi.StringOutput {
+	return o.ToStringOutputWithContext(context.Background())
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e DataSourceImageExtractionStatus) string {
+		return string(e)
+	}).(pulumi.StringOutput)
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return o.ToStringPtrOutputWithContext(context.Background())
+}
+
+func (o DataSourceImageExtractionStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e DataSourceImageExtractionStatus) *string {
+		v := string(e)
+		return &v
+	}).(pulumi.StringPtrOutput)
+}
+
+type DataSourceImageExtractionStatusPtrOutput struct{ *pulumi.OutputState }
+
+func (DataSourceImageExtractionStatusPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataSourceImageExtractionStatus)(nil)).Elem()
+}
+
+func (o DataSourceImageExtractionStatusPtrOutput) ToDataSourceImageExtractionStatusPtrOutput() DataSourceImageExtractionStatusPtrOutput {
+	return o
+}
+
+func (o DataSourceImageExtractionStatusPtrOutput) ToDataSourceImageExtractionStatusPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionStatusPtrOutput {
+	return o
+}
+
+func (o DataSourceImageExtractionStatusPtrOutput) Elem() DataSourceImageExtractionStatusOutput {
+	return o.ApplyT(func(v *DataSourceImageExtractionStatus) DataSourceImageExtractionStatus {
+		if v != nil {
+			return *v
+		}
+		var ret DataSourceImageExtractionStatus
+		return ret
+	}).(DataSourceImageExtractionStatusOutput)
+}
+
+func (o DataSourceImageExtractionStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return o.ToStringPtrOutputWithContext(context.Background())
+}
+
+func (o DataSourceImageExtractionStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e *DataSourceImageExtractionStatus) *string {
+		if e == nil {
+			return nil
+		}
+		v := string(*e)
+		return &v
+	}).(pulumi.StringPtrOutput)
+}
+
+// DataSourceImageExtractionStatusInput is an input type that accepts values of the DataSourceImageExtractionStatus enum
+// A concrete instance of `DataSourceImageExtractionStatusInput` can be one of the following:
+//
+//	DataSourceImageExtractionStatusEnabled
+//	DataSourceImageExtractionStatusDisabled
+type DataSourceImageExtractionStatusInput interface {
+	pulumi.Input
+
+	ToDataSourceImageExtractionStatusOutput() DataSourceImageExtractionStatusOutput
+	ToDataSourceImageExtractionStatusOutputWithContext(context.Context) DataSourceImageExtractionStatusOutput
+}
+
+var dataSourceImageExtractionStatusPtrType = reflect.TypeOf((**DataSourceImageExtractionStatus)(nil)).Elem()
+
+type DataSourceImageExtractionStatusPtrInput interface {
+	pulumi.Input
+
+	ToDataSourceImageExtractionStatusPtrOutput() DataSourceImageExtractionStatusPtrOutput
+	ToDataSourceImageExtractionStatusPtrOutputWithContext(context.Context) DataSourceImageExtractionStatusPtrOutput
+}
+
+type dataSourceImageExtractionStatusPtr string
+
+func DataSourceImageExtractionStatusPtr(v string) DataSourceImageExtractionStatusPtrInput {
+	return (*dataSourceImageExtractionStatusPtr)(&v)
+}
+
+func (*dataSourceImageExtractionStatusPtr) ElementType() reflect.Type {
+	return dataSourceImageExtractionStatusPtrType
+}
+
+func (in *dataSourceImageExtractionStatusPtr) ToDataSourceImageExtractionStatusPtrOutput() DataSourceImageExtractionStatusPtrOutput {
+	return pulumi.ToOutput(in).(DataSourceImageExtractionStatusPtrOutput)
+}
+
+func (in *dataSourceImageExtractionStatusPtr) ToDataSourceImageExtractionStatusPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionStatusPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, in).(DataSourceImageExtractionStatusPtrOutput)
+}
+
 type DataSourceStatus string
 
 const (
@@ -2551,11 +2718,23 @@ func (in *pluginStateEnumPtr) ToPluginStateEnumPtrOutputWithContext(ctx context.
 type PluginType string
 
 const (
-	PluginTypeServiceNow = PluginType("SERVICE_NOW")
-	PluginTypeSalesforce = PluginType("SALESFORCE")
-	PluginTypeJira       = PluginType("JIRA")
-	PluginTypeZendesk    = PluginType("ZENDESK")
-	PluginTypeCustom     = PluginType("CUSTOM")
+	PluginTypeServiceNow            = PluginType("SERVICE_NOW")
+	PluginTypeSalesforce            = PluginType("SALESFORCE")
+	PluginTypeJira                  = PluginType("JIRA")
+	PluginTypeZendesk               = PluginType("ZENDESK")
+	PluginTypeCustom                = PluginType("CUSTOM")
+	PluginTypeQuicksight            = PluginType("QUICKSIGHT")
+	PluginTypeServicenowNowPlatform = PluginType("SERVICENOW_NOW_PLATFORM")
+	PluginTypeJiraCloud             = PluginType("JIRA_CLOUD")
+	PluginTypeSalesforceCrm         = PluginType("SALESFORCE_CRM")
+	PluginTypeZendeskSuite          = PluginType("ZENDESK_SUITE")
+	PluginTypeAtlassianConfluence   = PluginType("ATLASSIAN_CONFLUENCE")
+	PluginTypeGoogleCalendar        = PluginType("GOOGLE_CALENDAR")
+	PluginTypeMicrosoftTeams        = PluginType("MICROSOFT_TEAMS")
+	PluginTypeMicrosoftExchange     = PluginType("MICROSOFT_EXCHANGE")
+	PluginTypePagerdutyAdvance      = PluginType("PAGERDUTY_ADVANCE")
+	PluginTypeSmartsheet            = PluginType("SMARTSHEET")
+	PluginTypeAsana                 = PluginType("ASANA")
 )
 
 func (PluginType) ElementType() reflect.Type {
@@ -2685,6 +2864,18 @@ func (o PluginTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) p
 //	PluginTypeJira
 //	PluginTypeZendesk
 //	PluginTypeCustom
+//	PluginTypeQuicksight
+//	PluginTypeServicenowNowPlatform
+//	PluginTypeJiraCloud
+//	PluginTypeSalesforceCrm
+//	PluginTypeZendeskSuite
+//	PluginTypeAtlassianConfluence
+//	PluginTypeGoogleCalendar
+//	PluginTypeMicrosoftTeams
+//	PluginTypeMicrosoftExchange
+//	PluginTypePagerdutyAdvance
+//	PluginTypeSmartsheet
+//	PluginTypeAsana
 type PluginTypeInput interface {
 	pulumi.Input
 
@@ -3417,6 +3608,8 @@ func init() {
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentContentOperatorPtrInput)(nil)).Elem(), DataSourceDocumentContentOperator("DELETE"))
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentEnrichmentConditionOperatorInput)(nil)).Elem(), DataSourceDocumentEnrichmentConditionOperator("GREATER_THAN"))
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentEnrichmentConditionOperatorPtrInput)(nil)).Elem(), DataSourceDocumentEnrichmentConditionOperator("GREATER_THAN"))
+	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceImageExtractionStatusInput)(nil)).Elem(), DataSourceImageExtractionStatus("ENABLED"))
+	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceImageExtractionStatusPtrInput)(nil)).Elem(), DataSourceImageExtractionStatus("ENABLED"))
 	pulumi.RegisterInputType(reflect.TypeOf((*IndexAttributeTypeInput)(nil)).Elem(), IndexAttributeType("STRING"))
 	pulumi.RegisterInputType(reflect.TypeOf((*IndexAttributeTypePtrInput)(nil)).Elem(), IndexAttributeType("STRING"))
 	pulumi.RegisterInputType(reflect.TypeOf((*IndexTypeInput)(nil)).Elem(), IndexType("ENTERPRISE"))
@@ -3453,6 +3646,8 @@ func init() {
 	pulumi.RegisterOutputType(DataSourceDocumentContentOperatorPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceDocumentEnrichmentConditionOperatorOutput{})
 	pulumi.RegisterOutputType(DataSourceDocumentEnrichmentConditionOperatorPtrOutput{})
+	pulumi.RegisterOutputType(DataSourceImageExtractionStatusOutput{})
+	pulumi.RegisterOutputType(DataSourceImageExtractionStatusPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceStatusOutput{})
 	pulumi.RegisterOutputType(DataSourceStatusPtrOutput{})
 	pulumi.RegisterOutputType(IndexAttributeTypeOutput{})
diff --git a/sdk/go/aws/qbusiness/pulumiTypes.go b/sdk/go/aws/qbusiness/pulumiTypes.go
index 277e0513c0..06d8b2617f 100644
--- a/sdk/go/aws/qbusiness/pulumiTypes.go
+++ b/sdk/go/aws/qbusiness/pulumiTypes.go
@@ -725,6 +725,139 @@ func (o ApplicationQAppsConfigurationPtrOutput) QAppsControlMode() ApplicationQA
 	}).(ApplicationQAppsControlModePtrOutput)
 }
 
+type ApplicationQuickSightConfiguration struct {
+	ClientNamespace string `pulumi:"clientNamespace"`
+}
+
+// ApplicationQuickSightConfigurationInput is an input type that accepts ApplicationQuickSightConfigurationArgs and ApplicationQuickSightConfigurationOutput values.
+// You can construct a concrete instance of `ApplicationQuickSightConfigurationInput` via:
+//
+//	ApplicationQuickSightConfigurationArgs{...}
+type ApplicationQuickSightConfigurationInput interface {
+	pulumi.Input
+
+	ToApplicationQuickSightConfigurationOutput() ApplicationQuickSightConfigurationOutput
+	ToApplicationQuickSightConfigurationOutputWithContext(context.Context) ApplicationQuickSightConfigurationOutput
+}
+
+type ApplicationQuickSightConfigurationArgs struct {
+	ClientNamespace pulumi.StringInput `pulumi:"clientNamespace"`
+}
+
+func (ApplicationQuickSightConfigurationArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*ApplicationQuickSightConfiguration)(nil)).Elem()
+}
+
+func (i ApplicationQuickSightConfigurationArgs) ToApplicationQuickSightConfigurationOutput() ApplicationQuickSightConfigurationOutput {
+	return i.ToApplicationQuickSightConfigurationOutputWithContext(context.Background())
+}
+
+func (i ApplicationQuickSightConfigurationArgs) ToApplicationQuickSightConfigurationOutputWithContext(ctx context.Context) ApplicationQuickSightConfigurationOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(ApplicationQuickSightConfigurationOutput)
+}
+
+func (i ApplicationQuickSightConfigurationArgs) ToApplicationQuickSightConfigurationPtrOutput() ApplicationQuickSightConfigurationPtrOutput {
+	return i.ToApplicationQuickSightConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i ApplicationQuickSightConfigurationArgs) ToApplicationQuickSightConfigurationPtrOutputWithContext(ctx context.Context) ApplicationQuickSightConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(ApplicationQuickSightConfigurationOutput).ToApplicationQuickSightConfigurationPtrOutputWithContext(ctx)
+}
+
+// ApplicationQuickSightConfigurationPtrInput is an input type that accepts ApplicationQuickSightConfigurationArgs, ApplicationQuickSightConfigurationPtr and ApplicationQuickSightConfigurationPtrOutput values.
+// You can construct a concrete instance of `ApplicationQuickSightConfigurationPtrInput` via:
+//
+//	        ApplicationQuickSightConfigurationArgs{...}
+//
+//	or:
+//
+//	        nil
+type ApplicationQuickSightConfigurationPtrInput interface {
+	pulumi.Input
+
+	ToApplicationQuickSightConfigurationPtrOutput() ApplicationQuickSightConfigurationPtrOutput
+	ToApplicationQuickSightConfigurationPtrOutputWithContext(context.Context) ApplicationQuickSightConfigurationPtrOutput
+}
+
+type applicationQuickSightConfigurationPtrType ApplicationQuickSightConfigurationArgs
+
+func ApplicationQuickSightConfigurationPtr(v *ApplicationQuickSightConfigurationArgs) ApplicationQuickSightConfigurationPtrInput {
+	return (*applicationQuickSightConfigurationPtrType)(v)
+}
+
+func (*applicationQuickSightConfigurationPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**ApplicationQuickSightConfiguration)(nil)).Elem()
+}
+
+func (i *applicationQuickSightConfigurationPtrType) ToApplicationQuickSightConfigurationPtrOutput() ApplicationQuickSightConfigurationPtrOutput {
+	return i.ToApplicationQuickSightConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i *applicationQuickSightConfigurationPtrType) ToApplicationQuickSightConfigurationPtrOutputWithContext(ctx context.Context) ApplicationQuickSightConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(ApplicationQuickSightConfigurationPtrOutput)
+}
+
+type ApplicationQuickSightConfigurationOutput struct{ *pulumi.OutputState }
+
+func (ApplicationQuickSightConfigurationOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*ApplicationQuickSightConfiguration)(nil)).Elem()
+}
+
+func (o ApplicationQuickSightConfigurationOutput) ToApplicationQuickSightConfigurationOutput() ApplicationQuickSightConfigurationOutput {
+	return o
+}
+
+func (o ApplicationQuickSightConfigurationOutput) ToApplicationQuickSightConfigurationOutputWithContext(ctx context.Context) ApplicationQuickSightConfigurationOutput {
+	return o
+}
+
+func (o ApplicationQuickSightConfigurationOutput) ToApplicationQuickSightConfigurationPtrOutput() ApplicationQuickSightConfigurationPtrOutput {
+	return o.ToApplicationQuickSightConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (o ApplicationQuickSightConfigurationOutput) ToApplicationQuickSightConfigurationPtrOutputWithContext(ctx context.Context) ApplicationQuickSightConfigurationPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v ApplicationQuickSightConfiguration) *ApplicationQuickSightConfiguration {
+		return &v
+	}).(ApplicationQuickSightConfigurationPtrOutput)
+}
+
+func (o ApplicationQuickSightConfigurationOutput) ClientNamespace() pulumi.StringOutput {
+	return o.ApplyT(func(v ApplicationQuickSightConfiguration) string { return v.ClientNamespace }).(pulumi.StringOutput)
+}
+
+type ApplicationQuickSightConfigurationPtrOutput struct{ *pulumi.OutputState }
+
+func (ApplicationQuickSightConfigurationPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**ApplicationQuickSightConfiguration)(nil)).Elem()
+}
+
+func (o ApplicationQuickSightConfigurationPtrOutput) ToApplicationQuickSightConfigurationPtrOutput() ApplicationQuickSightConfigurationPtrOutput {
+	return o
+}
+
+func (o ApplicationQuickSightConfigurationPtrOutput) ToApplicationQuickSightConfigurationPtrOutputWithContext(ctx context.Context) ApplicationQuickSightConfigurationPtrOutput {
+	return o
+}
+
+func (o ApplicationQuickSightConfigurationPtrOutput) Elem() ApplicationQuickSightConfigurationOutput {
+	return o.ApplyT(func(v *ApplicationQuickSightConfiguration) ApplicationQuickSightConfiguration {
+		if v != nil {
+			return *v
+		}
+		var ret ApplicationQuickSightConfiguration
+		return ret
+	}).(ApplicationQuickSightConfigurationOutput)
+}
+
+func (o ApplicationQuickSightConfigurationPtrOutput) ClientNamespace() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *ApplicationQuickSightConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return &v.ClientNamespace
+	}).(pulumi.StringPtrOutput)
+}
+
 type ApplicationTag struct {
 	// The key for the tag. Keys are not case sensitive and must be unique for the Amazon Q Business application or data source.
 	Key string `pulumi:"key"`
@@ -732,6 +865,1241 @@ type ApplicationTag struct {
 	Value string `pulumi:"value"`
 }
 
+type DataAccessorActionConfiguration struct {
+	Action              string                                 `pulumi:"action"`
+	FilterConfiguration *DataAccessorActionFilterConfiguration `pulumi:"filterConfiguration"`
+}
+
+// DataAccessorActionConfigurationInput is an input type that accepts DataAccessorActionConfigurationArgs and DataAccessorActionConfigurationOutput values.
+// You can construct a concrete instance of `DataAccessorActionConfigurationInput` via:
+//
+//	DataAccessorActionConfigurationArgs{...}
+type DataAccessorActionConfigurationInput interface {
+	pulumi.Input
+
+	ToDataAccessorActionConfigurationOutput() DataAccessorActionConfigurationOutput
+	ToDataAccessorActionConfigurationOutputWithContext(context.Context) DataAccessorActionConfigurationOutput
+}
+
+type DataAccessorActionConfigurationArgs struct {
+	Action              pulumi.StringInput                            `pulumi:"action"`
+	FilterConfiguration DataAccessorActionFilterConfigurationPtrInput `pulumi:"filterConfiguration"`
+}
+
+func (DataAccessorActionConfigurationArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorActionConfiguration)(nil)).Elem()
+}
+
+func (i DataAccessorActionConfigurationArgs) ToDataAccessorActionConfigurationOutput() DataAccessorActionConfigurationOutput {
+	return i.ToDataAccessorActionConfigurationOutputWithContext(context.Background())
+}
+
+func (i DataAccessorActionConfigurationArgs) ToDataAccessorActionConfigurationOutputWithContext(ctx context.Context) DataAccessorActionConfigurationOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorActionConfigurationOutput)
+}
+
+// DataAccessorActionConfigurationArrayInput is an input type that accepts DataAccessorActionConfigurationArray and DataAccessorActionConfigurationArrayOutput values.
+// You can construct a concrete instance of `DataAccessorActionConfigurationArrayInput` via:
+//
+//	DataAccessorActionConfigurationArray{ DataAccessorActionConfigurationArgs{...} }
+type DataAccessorActionConfigurationArrayInput interface {
+	pulumi.Input
+
+	ToDataAccessorActionConfigurationArrayOutput() DataAccessorActionConfigurationArrayOutput
+	ToDataAccessorActionConfigurationArrayOutputWithContext(context.Context) DataAccessorActionConfigurationArrayOutput
+}
+
+type DataAccessorActionConfigurationArray []DataAccessorActionConfigurationInput
+
+func (DataAccessorActionConfigurationArray) ElementType() reflect.Type {
+	return reflect.TypeOf((*[]DataAccessorActionConfiguration)(nil)).Elem()
+}
+
+func (i DataAccessorActionConfigurationArray) ToDataAccessorActionConfigurationArrayOutput() DataAccessorActionConfigurationArrayOutput {
+	return i.ToDataAccessorActionConfigurationArrayOutputWithContext(context.Background())
+}
+
+func (i DataAccessorActionConfigurationArray) ToDataAccessorActionConfigurationArrayOutputWithContext(ctx context.Context) DataAccessorActionConfigurationArrayOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorActionConfigurationArrayOutput)
+}
+
+type DataAccessorActionConfigurationOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorActionConfigurationOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorActionConfiguration)(nil)).Elem()
+}
+
+func (o DataAccessorActionConfigurationOutput) ToDataAccessorActionConfigurationOutput() DataAccessorActionConfigurationOutput {
+	return o
+}
+
+func (o DataAccessorActionConfigurationOutput) ToDataAccessorActionConfigurationOutputWithContext(ctx context.Context) DataAccessorActionConfigurationOutput {
+	return o
+}
+
+func (o DataAccessorActionConfigurationOutput) Action() pulumi.StringOutput {
+	return o.ApplyT(func(v DataAccessorActionConfiguration) string { return v.Action }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorActionConfigurationOutput) FilterConfiguration() DataAccessorActionFilterConfigurationPtrOutput {
+	return o.ApplyT(func(v DataAccessorActionConfiguration) *DataAccessorActionFilterConfiguration {
+		return v.FilterConfiguration
+	}).(DataAccessorActionFilterConfigurationPtrOutput)
+}
+
+type DataAccessorActionConfigurationArrayOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorActionConfigurationArrayOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*[]DataAccessorActionConfiguration)(nil)).Elem()
+}
+
+func (o DataAccessorActionConfigurationArrayOutput) ToDataAccessorActionConfigurationArrayOutput() DataAccessorActionConfigurationArrayOutput {
+	return o
+}
+
+func (o DataAccessorActionConfigurationArrayOutput) ToDataAccessorActionConfigurationArrayOutputWithContext(ctx context.Context) DataAccessorActionConfigurationArrayOutput {
+	return o
+}
+
+func (o DataAccessorActionConfigurationArrayOutput) Index(i pulumi.IntInput) DataAccessorActionConfigurationOutput {
+	return pulumi.All(o, i).ApplyT(func(vs []interface{}) DataAccessorActionConfiguration {
+		return vs[0].([]DataAccessorActionConfiguration)[vs[1].(int)]
+	}).(DataAccessorActionConfigurationOutput)
+}
+
+type DataAccessorActionFilterConfiguration struct {
+	DocumentAttributeFilter DataAccessorAttributeFilter `pulumi:"documentAttributeFilter"`
+}
+
+// DataAccessorActionFilterConfigurationInput is an input type that accepts DataAccessorActionFilterConfigurationArgs and DataAccessorActionFilterConfigurationOutput values.
+// You can construct a concrete instance of `DataAccessorActionFilterConfigurationInput` via:
+//
+//	DataAccessorActionFilterConfigurationArgs{...}
+type DataAccessorActionFilterConfigurationInput interface {
+	pulumi.Input
+
+	ToDataAccessorActionFilterConfigurationOutput() DataAccessorActionFilterConfigurationOutput
+	ToDataAccessorActionFilterConfigurationOutputWithContext(context.Context) DataAccessorActionFilterConfigurationOutput
+}
+
+type DataAccessorActionFilterConfigurationArgs struct {
+	DocumentAttributeFilter DataAccessorAttributeFilterInput `pulumi:"documentAttributeFilter"`
+}
+
+func (DataAccessorActionFilterConfigurationArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorActionFilterConfiguration)(nil)).Elem()
+}
+
+func (i DataAccessorActionFilterConfigurationArgs) ToDataAccessorActionFilterConfigurationOutput() DataAccessorActionFilterConfigurationOutput {
+	return i.ToDataAccessorActionFilterConfigurationOutputWithContext(context.Background())
+}
+
+func (i DataAccessorActionFilterConfigurationArgs) ToDataAccessorActionFilterConfigurationOutputWithContext(ctx context.Context) DataAccessorActionFilterConfigurationOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorActionFilterConfigurationOutput)
+}
+
+func (i DataAccessorActionFilterConfigurationArgs) ToDataAccessorActionFilterConfigurationPtrOutput() DataAccessorActionFilterConfigurationPtrOutput {
+	return i.ToDataAccessorActionFilterConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorActionFilterConfigurationArgs) ToDataAccessorActionFilterConfigurationPtrOutputWithContext(ctx context.Context) DataAccessorActionFilterConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorActionFilterConfigurationOutput).ToDataAccessorActionFilterConfigurationPtrOutputWithContext(ctx)
+}
+
+// DataAccessorActionFilterConfigurationPtrInput is an input type that accepts DataAccessorActionFilterConfigurationArgs, DataAccessorActionFilterConfigurationPtr and DataAccessorActionFilterConfigurationPtrOutput values.
+// You can construct a concrete instance of `DataAccessorActionFilterConfigurationPtrInput` via:
+//
+//	        DataAccessorActionFilterConfigurationArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorActionFilterConfigurationPtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorActionFilterConfigurationPtrOutput() DataAccessorActionFilterConfigurationPtrOutput
+	ToDataAccessorActionFilterConfigurationPtrOutputWithContext(context.Context) DataAccessorActionFilterConfigurationPtrOutput
+}
+
+type dataAccessorActionFilterConfigurationPtrType DataAccessorActionFilterConfigurationArgs
+
+func DataAccessorActionFilterConfigurationPtr(v *DataAccessorActionFilterConfigurationArgs) DataAccessorActionFilterConfigurationPtrInput {
+	return (*dataAccessorActionFilterConfigurationPtrType)(v)
+}
+
+func (*dataAccessorActionFilterConfigurationPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorActionFilterConfiguration)(nil)).Elem()
+}
+
+func (i *dataAccessorActionFilterConfigurationPtrType) ToDataAccessorActionFilterConfigurationPtrOutput() DataAccessorActionFilterConfigurationPtrOutput {
+	return i.ToDataAccessorActionFilterConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorActionFilterConfigurationPtrType) ToDataAccessorActionFilterConfigurationPtrOutputWithContext(ctx context.Context) DataAccessorActionFilterConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorActionFilterConfigurationPtrOutput)
+}
+
+type DataAccessorActionFilterConfigurationOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorActionFilterConfigurationOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorActionFilterConfiguration)(nil)).Elem()
+}
+
+func (o DataAccessorActionFilterConfigurationOutput) ToDataAccessorActionFilterConfigurationOutput() DataAccessorActionFilterConfigurationOutput {
+	return o
+}
+
+func (o DataAccessorActionFilterConfigurationOutput) ToDataAccessorActionFilterConfigurationOutputWithContext(ctx context.Context) DataAccessorActionFilterConfigurationOutput {
+	return o
+}
+
+func (o DataAccessorActionFilterConfigurationOutput) ToDataAccessorActionFilterConfigurationPtrOutput() DataAccessorActionFilterConfigurationPtrOutput {
+	return o.ToDataAccessorActionFilterConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorActionFilterConfigurationOutput) ToDataAccessorActionFilterConfigurationPtrOutputWithContext(ctx context.Context) DataAccessorActionFilterConfigurationPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorActionFilterConfiguration) *DataAccessorActionFilterConfiguration {
+		return &v
+	}).(DataAccessorActionFilterConfigurationPtrOutput)
+}
+
+func (o DataAccessorActionFilterConfigurationOutput) DocumentAttributeFilter() DataAccessorAttributeFilterOutput {
+	return o.ApplyT(func(v DataAccessorActionFilterConfiguration) DataAccessorAttributeFilter {
+		return v.DocumentAttributeFilter
+	}).(DataAccessorAttributeFilterOutput)
+}
+
+type DataAccessorActionFilterConfigurationPtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorActionFilterConfigurationPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorActionFilterConfiguration)(nil)).Elem()
+}
+
+func (o DataAccessorActionFilterConfigurationPtrOutput) ToDataAccessorActionFilterConfigurationPtrOutput() DataAccessorActionFilterConfigurationPtrOutput {
+	return o
+}
+
+func (o DataAccessorActionFilterConfigurationPtrOutput) ToDataAccessorActionFilterConfigurationPtrOutputWithContext(ctx context.Context) DataAccessorActionFilterConfigurationPtrOutput {
+	return o
+}
+
+func (o DataAccessorActionFilterConfigurationPtrOutput) Elem() DataAccessorActionFilterConfigurationOutput {
+	return o.ApplyT(func(v *DataAccessorActionFilterConfiguration) DataAccessorActionFilterConfiguration {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorActionFilterConfiguration
+		return ret
+	}).(DataAccessorActionFilterConfigurationOutput)
+}
+
+func (o DataAccessorActionFilterConfigurationPtrOutput) DocumentAttributeFilter() DataAccessorAttributeFilterPtrOutput {
+	return o.ApplyT(func(v *DataAccessorActionFilterConfiguration) *DataAccessorAttributeFilter {
+		if v == nil {
+			return nil
+		}
+		return &v.DocumentAttributeFilter
+	}).(DataAccessorAttributeFilterPtrOutput)
+}
+
+type DataAccessorAttributeFilter struct {
+	AndAllFilters       []DataAccessorAttributeFilter  `pulumi:"andAllFilters"`
+	ContainsAll         *DataAccessorDocumentAttribute `pulumi:"containsAll"`
+	ContainsAny         *DataAccessorDocumentAttribute `pulumi:"containsAny"`
+	EqualsTo            *DataAccessorDocumentAttribute `pulumi:"equalsTo"`
+	GreaterThan         *DataAccessorDocumentAttribute `pulumi:"greaterThan"`
+	GreaterThanOrEquals *DataAccessorDocumentAttribute `pulumi:"greaterThanOrEquals"`
+	LessThan            *DataAccessorDocumentAttribute `pulumi:"lessThan"`
+	LessThanOrEquals    *DataAccessorDocumentAttribute `pulumi:"lessThanOrEquals"`
+	NotFilter           *DataAccessorAttributeFilter   `pulumi:"notFilter"`
+	OrAllFilters        []DataAccessorAttributeFilter  `pulumi:"orAllFilters"`
+}
+
+// DataAccessorAttributeFilterInput is an input type that accepts DataAccessorAttributeFilterArgs and DataAccessorAttributeFilterOutput values.
+// You can construct a concrete instance of `DataAccessorAttributeFilterInput` via:
+//
+//	DataAccessorAttributeFilterArgs{...}
+type DataAccessorAttributeFilterInput interface {
+	pulumi.Input
+
+	ToDataAccessorAttributeFilterOutput() DataAccessorAttributeFilterOutput
+	ToDataAccessorAttributeFilterOutputWithContext(context.Context) DataAccessorAttributeFilterOutput
+}
+
+type DataAccessorAttributeFilterArgs struct {
+	AndAllFilters       DataAccessorAttributeFilterArrayInput `pulumi:"andAllFilters"`
+	ContainsAll         DataAccessorDocumentAttributePtrInput `pulumi:"containsAll"`
+	ContainsAny         DataAccessorDocumentAttributePtrInput `pulumi:"containsAny"`
+	EqualsTo            DataAccessorDocumentAttributePtrInput `pulumi:"equalsTo"`
+	GreaterThan         DataAccessorDocumentAttributePtrInput `pulumi:"greaterThan"`
+	GreaterThanOrEquals DataAccessorDocumentAttributePtrInput `pulumi:"greaterThanOrEquals"`
+	LessThan            DataAccessorDocumentAttributePtrInput `pulumi:"lessThan"`
+	LessThanOrEquals    DataAccessorDocumentAttributePtrInput `pulumi:"lessThanOrEquals"`
+	NotFilter           DataAccessorAttributeFilterPtrInput   `pulumi:"notFilter"`
+	OrAllFilters        DataAccessorAttributeFilterArrayInput `pulumi:"orAllFilters"`
+}
+
+func (DataAccessorAttributeFilterArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorAttributeFilter)(nil)).Elem()
+}
+
+func (i DataAccessorAttributeFilterArgs) ToDataAccessorAttributeFilterOutput() DataAccessorAttributeFilterOutput {
+	return i.ToDataAccessorAttributeFilterOutputWithContext(context.Background())
+}
+
+func (i DataAccessorAttributeFilterArgs) ToDataAccessorAttributeFilterOutputWithContext(ctx context.Context) DataAccessorAttributeFilterOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorAttributeFilterOutput)
+}
+
+func (i DataAccessorAttributeFilterArgs) ToDataAccessorAttributeFilterPtrOutput() DataAccessorAttributeFilterPtrOutput {
+	return i.ToDataAccessorAttributeFilterPtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorAttributeFilterArgs) ToDataAccessorAttributeFilterPtrOutputWithContext(ctx context.Context) DataAccessorAttributeFilterPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorAttributeFilterOutput).ToDataAccessorAttributeFilterPtrOutputWithContext(ctx)
+}
+
+// DataAccessorAttributeFilterPtrInput is an input type that accepts DataAccessorAttributeFilterArgs, DataAccessorAttributeFilterPtr and DataAccessorAttributeFilterPtrOutput values.
+// You can construct a concrete instance of `DataAccessorAttributeFilterPtrInput` via:
+//
+//	        DataAccessorAttributeFilterArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorAttributeFilterPtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorAttributeFilterPtrOutput() DataAccessorAttributeFilterPtrOutput
+	ToDataAccessorAttributeFilterPtrOutputWithContext(context.Context) DataAccessorAttributeFilterPtrOutput
+}
+
+type dataAccessorAttributeFilterPtrType DataAccessorAttributeFilterArgs
+
+func DataAccessorAttributeFilterPtr(v *DataAccessorAttributeFilterArgs) DataAccessorAttributeFilterPtrInput {
+	return (*dataAccessorAttributeFilterPtrType)(v)
+}
+
+func (*dataAccessorAttributeFilterPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorAttributeFilter)(nil)).Elem()
+}
+
+func (i *dataAccessorAttributeFilterPtrType) ToDataAccessorAttributeFilterPtrOutput() DataAccessorAttributeFilterPtrOutput {
+	return i.ToDataAccessorAttributeFilterPtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorAttributeFilterPtrType) ToDataAccessorAttributeFilterPtrOutputWithContext(ctx context.Context) DataAccessorAttributeFilterPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorAttributeFilterPtrOutput)
+}
+
+// DataAccessorAttributeFilterArrayInput is an input type that accepts DataAccessorAttributeFilterArray and DataAccessorAttributeFilterArrayOutput values.
+// You can construct a concrete instance of `DataAccessorAttributeFilterArrayInput` via:
+//
+//	DataAccessorAttributeFilterArray{ DataAccessorAttributeFilterArgs{...} }
+type DataAccessorAttributeFilterArrayInput interface {
+	pulumi.Input
+
+	ToDataAccessorAttributeFilterArrayOutput() DataAccessorAttributeFilterArrayOutput
+	ToDataAccessorAttributeFilterArrayOutputWithContext(context.Context) DataAccessorAttributeFilterArrayOutput
+}
+
+type DataAccessorAttributeFilterArray []DataAccessorAttributeFilterInput
+
+func (DataAccessorAttributeFilterArray) ElementType() reflect.Type {
+	return reflect.TypeOf((*[]DataAccessorAttributeFilter)(nil)).Elem()
+}
+
+func (i DataAccessorAttributeFilterArray) ToDataAccessorAttributeFilterArrayOutput() DataAccessorAttributeFilterArrayOutput {
+	return i.ToDataAccessorAttributeFilterArrayOutputWithContext(context.Background())
+}
+
+func (i DataAccessorAttributeFilterArray) ToDataAccessorAttributeFilterArrayOutputWithContext(ctx context.Context) DataAccessorAttributeFilterArrayOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorAttributeFilterArrayOutput)
+}
+
+type DataAccessorAttributeFilterOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorAttributeFilterOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorAttributeFilter)(nil)).Elem()
+}
+
+func (o DataAccessorAttributeFilterOutput) ToDataAccessorAttributeFilterOutput() DataAccessorAttributeFilterOutput {
+	return o
+}
+
+func (o DataAccessorAttributeFilterOutput) ToDataAccessorAttributeFilterOutputWithContext(ctx context.Context) DataAccessorAttributeFilterOutput {
+	return o
+}
+
+func (o DataAccessorAttributeFilterOutput) ToDataAccessorAttributeFilterPtrOutput() DataAccessorAttributeFilterPtrOutput {
+	return o.ToDataAccessorAttributeFilterPtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorAttributeFilterOutput) ToDataAccessorAttributeFilterPtrOutputWithContext(ctx context.Context) DataAccessorAttributeFilterPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorAttributeFilter) *DataAccessorAttributeFilter {
+		return &v
+	}).(DataAccessorAttributeFilterPtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) AndAllFilters() DataAccessorAttributeFilterArrayOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) []DataAccessorAttributeFilter { return v.AndAllFilters }).(DataAccessorAttributeFilterArrayOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) ContainsAll() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.ContainsAll }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) ContainsAny() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.ContainsAny }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) EqualsTo() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.EqualsTo }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) GreaterThan() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.GreaterThan }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) GreaterThanOrEquals() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.GreaterThanOrEquals }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) LessThan() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.LessThan }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) LessThanOrEquals() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorDocumentAttribute { return v.LessThanOrEquals }).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) NotFilter() DataAccessorAttributeFilterPtrOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) *DataAccessorAttributeFilter { return v.NotFilter }).(DataAccessorAttributeFilterPtrOutput)
+}
+
+func (o DataAccessorAttributeFilterOutput) OrAllFilters() DataAccessorAttributeFilterArrayOutput {
+	return o.ApplyT(func(v DataAccessorAttributeFilter) []DataAccessorAttributeFilter { return v.OrAllFilters }).(DataAccessorAttributeFilterArrayOutput)
+}
+
+type DataAccessorAttributeFilterPtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorAttributeFilterPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorAttributeFilter)(nil)).Elem()
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) ToDataAccessorAttributeFilterPtrOutput() DataAccessorAttributeFilterPtrOutput {
+	return o
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) ToDataAccessorAttributeFilterPtrOutputWithContext(ctx context.Context) DataAccessorAttributeFilterPtrOutput {
+	return o
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) Elem() DataAccessorAttributeFilterOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) DataAccessorAttributeFilter {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorAttributeFilter
+		return ret
+	}).(DataAccessorAttributeFilterOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) AndAllFilters() DataAccessorAttributeFilterArrayOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) []DataAccessorAttributeFilter {
+		if v == nil {
+			return nil
+		}
+		return v.AndAllFilters
+	}).(DataAccessorAttributeFilterArrayOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) ContainsAll() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.ContainsAll
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) ContainsAny() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.ContainsAny
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) EqualsTo() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.EqualsTo
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) GreaterThan() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.GreaterThan
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) GreaterThanOrEquals() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.GreaterThanOrEquals
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) LessThan() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.LessThan
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) LessThanOrEquals() DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorDocumentAttribute {
+		if v == nil {
+			return nil
+		}
+		return v.LessThanOrEquals
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) NotFilter() DataAccessorAttributeFilterPtrOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) *DataAccessorAttributeFilter {
+		if v == nil {
+			return nil
+		}
+		return v.NotFilter
+	}).(DataAccessorAttributeFilterPtrOutput)
+}
+
+func (o DataAccessorAttributeFilterPtrOutput) OrAllFilters() DataAccessorAttributeFilterArrayOutput {
+	return o.ApplyT(func(v *DataAccessorAttributeFilter) []DataAccessorAttributeFilter {
+		if v == nil {
+			return nil
+		}
+		return v.OrAllFilters
+	}).(DataAccessorAttributeFilterArrayOutput)
+}
+
+type DataAccessorAttributeFilterArrayOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorAttributeFilterArrayOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*[]DataAccessorAttributeFilter)(nil)).Elem()
+}
+
+func (o DataAccessorAttributeFilterArrayOutput) ToDataAccessorAttributeFilterArrayOutput() DataAccessorAttributeFilterArrayOutput {
+	return o
+}
+
+func (o DataAccessorAttributeFilterArrayOutput) ToDataAccessorAttributeFilterArrayOutputWithContext(ctx context.Context) DataAccessorAttributeFilterArrayOutput {
+	return o
+}
+
+func (o DataAccessorAttributeFilterArrayOutput) Index(i pulumi.IntInput) DataAccessorAttributeFilterOutput {
+	return pulumi.All(o, i).ApplyT(func(vs []interface{}) DataAccessorAttributeFilter {
+		return vs[0].([]DataAccessorAttributeFilter)[vs[1].(int)]
+	}).(DataAccessorAttributeFilterOutput)
+}
+
+type DataAccessorDocumentAttribute struct {
+	Name  string      `pulumi:"name"`
+	Value interface{} `pulumi:"value"`
+}
+
+// DataAccessorDocumentAttributeInput is an input type that accepts DataAccessorDocumentAttributeArgs and DataAccessorDocumentAttributeOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeInput` via:
+//
+//	DataAccessorDocumentAttributeArgs{...}
+type DataAccessorDocumentAttributeInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeOutput() DataAccessorDocumentAttributeOutput
+	ToDataAccessorDocumentAttributeOutputWithContext(context.Context) DataAccessorDocumentAttributeOutput
+}
+
+type DataAccessorDocumentAttributeArgs struct {
+	Name  pulumi.StringInput `pulumi:"name"`
+	Value pulumi.Input       `pulumi:"value"`
+}
+
+func (DataAccessorDocumentAttributeArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttribute)(nil)).Elem()
+}
+
+func (i DataAccessorDocumentAttributeArgs) ToDataAccessorDocumentAttributeOutput() DataAccessorDocumentAttributeOutput {
+	return i.ToDataAccessorDocumentAttributeOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeArgs) ToDataAccessorDocumentAttributeOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeOutput)
+}
+
+func (i DataAccessorDocumentAttributeArgs) ToDataAccessorDocumentAttributePtrOutput() DataAccessorDocumentAttributePtrOutput {
+	return i.ToDataAccessorDocumentAttributePtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeArgs) ToDataAccessorDocumentAttributePtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributePtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeOutput).ToDataAccessorDocumentAttributePtrOutputWithContext(ctx)
+}
+
+// DataAccessorDocumentAttributePtrInput is an input type that accepts DataAccessorDocumentAttributeArgs, DataAccessorDocumentAttributePtr and DataAccessorDocumentAttributePtrOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributePtrInput` via:
+//
+//	        DataAccessorDocumentAttributeArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorDocumentAttributePtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributePtrOutput() DataAccessorDocumentAttributePtrOutput
+	ToDataAccessorDocumentAttributePtrOutputWithContext(context.Context) DataAccessorDocumentAttributePtrOutput
+}
+
+type dataAccessorDocumentAttributePtrType DataAccessorDocumentAttributeArgs
+
+func DataAccessorDocumentAttributePtr(v *DataAccessorDocumentAttributeArgs) DataAccessorDocumentAttributePtrInput {
+	return (*dataAccessorDocumentAttributePtrType)(v)
+}
+
+func (*dataAccessorDocumentAttributePtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttribute)(nil)).Elem()
+}
+
+func (i *dataAccessorDocumentAttributePtrType) ToDataAccessorDocumentAttributePtrOutput() DataAccessorDocumentAttributePtrOutput {
+	return i.ToDataAccessorDocumentAttributePtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorDocumentAttributePtrType) ToDataAccessorDocumentAttributePtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributePtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributePtrOutput)
+}
+
+type DataAccessorDocumentAttributeOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttribute)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeOutput) ToDataAccessorDocumentAttributeOutput() DataAccessorDocumentAttributeOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeOutput) ToDataAccessorDocumentAttributeOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeOutput) ToDataAccessorDocumentAttributePtrOutput() DataAccessorDocumentAttributePtrOutput {
+	return o.ToDataAccessorDocumentAttributePtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorDocumentAttributeOutput) ToDataAccessorDocumentAttributePtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributePtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorDocumentAttribute) *DataAccessorDocumentAttribute {
+		return &v
+	}).(DataAccessorDocumentAttributePtrOutput)
+}
+
+func (o DataAccessorDocumentAttributeOutput) Name() pulumi.StringOutput {
+	return o.ApplyT(func(v DataAccessorDocumentAttribute) string { return v.Name }).(pulumi.StringOutput)
+}
+
+func (o DataAccessorDocumentAttributeOutput) Value() pulumi.AnyOutput {
+	return o.ApplyT(func(v DataAccessorDocumentAttribute) interface{} { return v.Value }).(pulumi.AnyOutput)
+}
+
+type DataAccessorDocumentAttributePtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributePtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttribute)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributePtrOutput) ToDataAccessorDocumentAttributePtrOutput() DataAccessorDocumentAttributePtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributePtrOutput) ToDataAccessorDocumentAttributePtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributePtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributePtrOutput) Elem() DataAccessorDocumentAttributeOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttribute) DataAccessorDocumentAttribute {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorDocumentAttribute
+		return ret
+	}).(DataAccessorDocumentAttributeOutput)
+}
+
+func (o DataAccessorDocumentAttributePtrOutput) Name() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttribute) *string {
+		if v == nil {
+			return nil
+		}
+		return &v.Name
+	}).(pulumi.StringPtrOutput)
+}
+
+func (o DataAccessorDocumentAttributePtrOutput) Value() pulumi.AnyOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttribute) interface{} {
+		if v == nil {
+			return nil
+		}
+		return v.Value
+	}).(pulumi.AnyOutput)
+}
+
+type DataAccessorDocumentAttributeValue0Properties struct {
+	StringValue string `pulumi:"stringValue"`
+}
+
+// DataAccessorDocumentAttributeValue0PropertiesInput is an input type that accepts DataAccessorDocumentAttributeValue0PropertiesArgs and DataAccessorDocumentAttributeValue0PropertiesOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue0PropertiesInput` via:
+//
+//	DataAccessorDocumentAttributeValue0PropertiesArgs{...}
+type DataAccessorDocumentAttributeValue0PropertiesInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue0PropertiesOutput() DataAccessorDocumentAttributeValue0PropertiesOutput
+	ToDataAccessorDocumentAttributeValue0PropertiesOutputWithContext(context.Context) DataAccessorDocumentAttributeValue0PropertiesOutput
+}
+
+type DataAccessorDocumentAttributeValue0PropertiesArgs struct {
+	StringValue pulumi.StringInput `pulumi:"stringValue"`
+}
+
+func (DataAccessorDocumentAttributeValue0PropertiesArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue0Properties)(nil)).Elem()
+}
+
+func (i DataAccessorDocumentAttributeValue0PropertiesArgs) ToDataAccessorDocumentAttributeValue0PropertiesOutput() DataAccessorDocumentAttributeValue0PropertiesOutput {
+	return i.ToDataAccessorDocumentAttributeValue0PropertiesOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue0PropertiesArgs) ToDataAccessorDocumentAttributeValue0PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue0PropertiesOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue0PropertiesOutput)
+}
+
+func (i DataAccessorDocumentAttributeValue0PropertiesArgs) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutput() DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue0PropertiesArgs) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue0PropertiesOutput).ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(ctx)
+}
+
+// DataAccessorDocumentAttributeValue0PropertiesPtrInput is an input type that accepts DataAccessorDocumentAttributeValue0PropertiesArgs, DataAccessorDocumentAttributeValue0PropertiesPtr and DataAccessorDocumentAttributeValue0PropertiesPtrOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue0PropertiesPtrInput` via:
+//
+//	        DataAccessorDocumentAttributeValue0PropertiesArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorDocumentAttributeValue0PropertiesPtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue0PropertiesPtrOutput() DataAccessorDocumentAttributeValue0PropertiesPtrOutput
+	ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(context.Context) DataAccessorDocumentAttributeValue0PropertiesPtrOutput
+}
+
+type dataAccessorDocumentAttributeValue0PropertiesPtrType DataAccessorDocumentAttributeValue0PropertiesArgs
+
+func DataAccessorDocumentAttributeValue0PropertiesPtr(v *DataAccessorDocumentAttributeValue0PropertiesArgs) DataAccessorDocumentAttributeValue0PropertiesPtrInput {
+	return (*dataAccessorDocumentAttributeValue0PropertiesPtrType)(v)
+}
+
+func (*dataAccessorDocumentAttributeValue0PropertiesPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue0Properties)(nil)).Elem()
+}
+
+func (i *dataAccessorDocumentAttributeValue0PropertiesPtrType) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutput() DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorDocumentAttributeValue0PropertiesPtrType) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue0PropertiesPtrOutput)
+}
+
+type DataAccessorDocumentAttributeValue0PropertiesOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue0PropertiesOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue0Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesOutput) ToDataAccessorDocumentAttributeValue0PropertiesOutput() DataAccessorDocumentAttributeValue0PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesOutput) ToDataAccessorDocumentAttributeValue0PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue0PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesOutput) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutput() DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return o.ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesOutput) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorDocumentAttributeValue0Properties) *DataAccessorDocumentAttributeValue0Properties {
+		return &v
+	}).(DataAccessorDocumentAttributeValue0PropertiesPtrOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesOutput) StringValue() pulumi.StringOutput {
+	return o.ApplyT(func(v DataAccessorDocumentAttributeValue0Properties) string { return v.StringValue }).(pulumi.StringOutput)
+}
+
+type DataAccessorDocumentAttributeValue0PropertiesPtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue0PropertiesPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue0Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutput() DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue0PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue0PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesPtrOutput) Elem() DataAccessorDocumentAttributeValue0PropertiesOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue0Properties) DataAccessorDocumentAttributeValue0Properties {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorDocumentAttributeValue0Properties
+		return ret
+	}).(DataAccessorDocumentAttributeValue0PropertiesOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue0PropertiesPtrOutput) StringValue() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue0Properties) *string {
+		if v == nil {
+			return nil
+		}
+		return &v.StringValue
+	}).(pulumi.StringPtrOutput)
+}
+
+type DataAccessorDocumentAttributeValue1Properties struct {
+	StringListValue []string `pulumi:"stringListValue"`
+}
+
+// DataAccessorDocumentAttributeValue1PropertiesInput is an input type that accepts DataAccessorDocumentAttributeValue1PropertiesArgs and DataAccessorDocumentAttributeValue1PropertiesOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue1PropertiesInput` via:
+//
+//	DataAccessorDocumentAttributeValue1PropertiesArgs{...}
+type DataAccessorDocumentAttributeValue1PropertiesInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue1PropertiesOutput() DataAccessorDocumentAttributeValue1PropertiesOutput
+	ToDataAccessorDocumentAttributeValue1PropertiesOutputWithContext(context.Context) DataAccessorDocumentAttributeValue1PropertiesOutput
+}
+
+type DataAccessorDocumentAttributeValue1PropertiesArgs struct {
+	StringListValue pulumi.StringArrayInput `pulumi:"stringListValue"`
+}
+
+func (DataAccessorDocumentAttributeValue1PropertiesArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue1Properties)(nil)).Elem()
+}
+
+func (i DataAccessorDocumentAttributeValue1PropertiesArgs) ToDataAccessorDocumentAttributeValue1PropertiesOutput() DataAccessorDocumentAttributeValue1PropertiesOutput {
+	return i.ToDataAccessorDocumentAttributeValue1PropertiesOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue1PropertiesArgs) ToDataAccessorDocumentAttributeValue1PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue1PropertiesOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue1PropertiesOutput)
+}
+
+func (i DataAccessorDocumentAttributeValue1PropertiesArgs) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutput() DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue1PropertiesArgs) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue1PropertiesOutput).ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(ctx)
+}
+
+// DataAccessorDocumentAttributeValue1PropertiesPtrInput is an input type that accepts DataAccessorDocumentAttributeValue1PropertiesArgs, DataAccessorDocumentAttributeValue1PropertiesPtr and DataAccessorDocumentAttributeValue1PropertiesPtrOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue1PropertiesPtrInput` via:
+//
+//	        DataAccessorDocumentAttributeValue1PropertiesArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorDocumentAttributeValue1PropertiesPtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue1PropertiesPtrOutput() DataAccessorDocumentAttributeValue1PropertiesPtrOutput
+	ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(context.Context) DataAccessorDocumentAttributeValue1PropertiesPtrOutput
+}
+
+type dataAccessorDocumentAttributeValue1PropertiesPtrType DataAccessorDocumentAttributeValue1PropertiesArgs
+
+func DataAccessorDocumentAttributeValue1PropertiesPtr(v *DataAccessorDocumentAttributeValue1PropertiesArgs) DataAccessorDocumentAttributeValue1PropertiesPtrInput {
+	return (*dataAccessorDocumentAttributeValue1PropertiesPtrType)(v)
+}
+
+func (*dataAccessorDocumentAttributeValue1PropertiesPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue1Properties)(nil)).Elem()
+}
+
+func (i *dataAccessorDocumentAttributeValue1PropertiesPtrType) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutput() DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorDocumentAttributeValue1PropertiesPtrType) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue1PropertiesPtrOutput)
+}
+
+type DataAccessorDocumentAttributeValue1PropertiesOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue1PropertiesOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue1Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesOutput) ToDataAccessorDocumentAttributeValue1PropertiesOutput() DataAccessorDocumentAttributeValue1PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesOutput) ToDataAccessorDocumentAttributeValue1PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue1PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesOutput) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutput() DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return o.ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesOutput) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorDocumentAttributeValue1Properties) *DataAccessorDocumentAttributeValue1Properties {
+		return &v
+	}).(DataAccessorDocumentAttributeValue1PropertiesPtrOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesOutput) StringListValue() pulumi.StringArrayOutput {
+	return o.ApplyT(func(v DataAccessorDocumentAttributeValue1Properties) []string { return v.StringListValue }).(pulumi.StringArrayOutput)
+}
+
+type DataAccessorDocumentAttributeValue1PropertiesPtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue1PropertiesPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue1Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutput() DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue1PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue1PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesPtrOutput) Elem() DataAccessorDocumentAttributeValue1PropertiesOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue1Properties) DataAccessorDocumentAttributeValue1Properties {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorDocumentAttributeValue1Properties
+		return ret
+	}).(DataAccessorDocumentAttributeValue1PropertiesOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue1PropertiesPtrOutput) StringListValue() pulumi.StringArrayOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue1Properties) []string {
+		if v == nil {
+			return nil
+		}
+		return v.StringListValue
+	}).(pulumi.StringArrayOutput)
+}
+
+type DataAccessorDocumentAttributeValue2Properties struct {
+	LongValue float64 `pulumi:"longValue"`
+}
+
+// DataAccessorDocumentAttributeValue2PropertiesInput is an input type that accepts DataAccessorDocumentAttributeValue2PropertiesArgs and DataAccessorDocumentAttributeValue2PropertiesOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue2PropertiesInput` via:
+//
+//	DataAccessorDocumentAttributeValue2PropertiesArgs{...}
+type DataAccessorDocumentAttributeValue2PropertiesInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue2PropertiesOutput() DataAccessorDocumentAttributeValue2PropertiesOutput
+	ToDataAccessorDocumentAttributeValue2PropertiesOutputWithContext(context.Context) DataAccessorDocumentAttributeValue2PropertiesOutput
+}
+
+type DataAccessorDocumentAttributeValue2PropertiesArgs struct {
+	LongValue pulumi.Float64Input `pulumi:"longValue"`
+}
+
+func (DataAccessorDocumentAttributeValue2PropertiesArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue2Properties)(nil)).Elem()
+}
+
+func (i DataAccessorDocumentAttributeValue2PropertiesArgs) ToDataAccessorDocumentAttributeValue2PropertiesOutput() DataAccessorDocumentAttributeValue2PropertiesOutput {
+	return i.ToDataAccessorDocumentAttributeValue2PropertiesOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue2PropertiesArgs) ToDataAccessorDocumentAttributeValue2PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue2PropertiesOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue2PropertiesOutput)
+}
+
+func (i DataAccessorDocumentAttributeValue2PropertiesArgs) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutput() DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue2PropertiesArgs) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue2PropertiesOutput).ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(ctx)
+}
+
+// DataAccessorDocumentAttributeValue2PropertiesPtrInput is an input type that accepts DataAccessorDocumentAttributeValue2PropertiesArgs, DataAccessorDocumentAttributeValue2PropertiesPtr and DataAccessorDocumentAttributeValue2PropertiesPtrOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue2PropertiesPtrInput` via:
+//
+//	        DataAccessorDocumentAttributeValue2PropertiesArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorDocumentAttributeValue2PropertiesPtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue2PropertiesPtrOutput() DataAccessorDocumentAttributeValue2PropertiesPtrOutput
+	ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(context.Context) DataAccessorDocumentAttributeValue2PropertiesPtrOutput
+}
+
+type dataAccessorDocumentAttributeValue2PropertiesPtrType DataAccessorDocumentAttributeValue2PropertiesArgs
+
+func DataAccessorDocumentAttributeValue2PropertiesPtr(v *DataAccessorDocumentAttributeValue2PropertiesArgs) DataAccessorDocumentAttributeValue2PropertiesPtrInput {
+	return (*dataAccessorDocumentAttributeValue2PropertiesPtrType)(v)
+}
+
+func (*dataAccessorDocumentAttributeValue2PropertiesPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue2Properties)(nil)).Elem()
+}
+
+func (i *dataAccessorDocumentAttributeValue2PropertiesPtrType) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutput() DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorDocumentAttributeValue2PropertiesPtrType) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue2PropertiesPtrOutput)
+}
+
+type DataAccessorDocumentAttributeValue2PropertiesOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue2PropertiesOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue2Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesOutput) ToDataAccessorDocumentAttributeValue2PropertiesOutput() DataAccessorDocumentAttributeValue2PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesOutput) ToDataAccessorDocumentAttributeValue2PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue2PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesOutput) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutput() DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return o.ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesOutput) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorDocumentAttributeValue2Properties) *DataAccessorDocumentAttributeValue2Properties {
+		return &v
+	}).(DataAccessorDocumentAttributeValue2PropertiesPtrOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesOutput) LongValue() pulumi.Float64Output {
+	return o.ApplyT(func(v DataAccessorDocumentAttributeValue2Properties) float64 { return v.LongValue }).(pulumi.Float64Output)
+}
+
+type DataAccessorDocumentAttributeValue2PropertiesPtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue2PropertiesPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue2Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutput() DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue2PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue2PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesPtrOutput) Elem() DataAccessorDocumentAttributeValue2PropertiesOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue2Properties) DataAccessorDocumentAttributeValue2Properties {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorDocumentAttributeValue2Properties
+		return ret
+	}).(DataAccessorDocumentAttributeValue2PropertiesOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue2PropertiesPtrOutput) LongValue() pulumi.Float64PtrOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue2Properties) *float64 {
+		if v == nil {
+			return nil
+		}
+		return &v.LongValue
+	}).(pulumi.Float64PtrOutput)
+}
+
+type DataAccessorDocumentAttributeValue3Properties struct {
+	DateValue string `pulumi:"dateValue"`
+}
+
+// DataAccessorDocumentAttributeValue3PropertiesInput is an input type that accepts DataAccessorDocumentAttributeValue3PropertiesArgs and DataAccessorDocumentAttributeValue3PropertiesOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue3PropertiesInput` via:
+//
+//	DataAccessorDocumentAttributeValue3PropertiesArgs{...}
+type DataAccessorDocumentAttributeValue3PropertiesInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue3PropertiesOutput() DataAccessorDocumentAttributeValue3PropertiesOutput
+	ToDataAccessorDocumentAttributeValue3PropertiesOutputWithContext(context.Context) DataAccessorDocumentAttributeValue3PropertiesOutput
+}
+
+type DataAccessorDocumentAttributeValue3PropertiesArgs struct {
+	DateValue pulumi.StringInput `pulumi:"dateValue"`
+}
+
+func (DataAccessorDocumentAttributeValue3PropertiesArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue3Properties)(nil)).Elem()
+}
+
+func (i DataAccessorDocumentAttributeValue3PropertiesArgs) ToDataAccessorDocumentAttributeValue3PropertiesOutput() DataAccessorDocumentAttributeValue3PropertiesOutput {
+	return i.ToDataAccessorDocumentAttributeValue3PropertiesOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue3PropertiesArgs) ToDataAccessorDocumentAttributeValue3PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue3PropertiesOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue3PropertiesOutput)
+}
+
+func (i DataAccessorDocumentAttributeValue3PropertiesArgs) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutput() DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i DataAccessorDocumentAttributeValue3PropertiesArgs) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue3PropertiesOutput).ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(ctx)
+}
+
+// DataAccessorDocumentAttributeValue3PropertiesPtrInput is an input type that accepts DataAccessorDocumentAttributeValue3PropertiesArgs, DataAccessorDocumentAttributeValue3PropertiesPtr and DataAccessorDocumentAttributeValue3PropertiesPtrOutput values.
+// You can construct a concrete instance of `DataAccessorDocumentAttributeValue3PropertiesPtrInput` via:
+//
+//	        DataAccessorDocumentAttributeValue3PropertiesArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataAccessorDocumentAttributeValue3PropertiesPtrInput interface {
+	pulumi.Input
+
+	ToDataAccessorDocumentAttributeValue3PropertiesPtrOutput() DataAccessorDocumentAttributeValue3PropertiesPtrOutput
+	ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(context.Context) DataAccessorDocumentAttributeValue3PropertiesPtrOutput
+}
+
+type dataAccessorDocumentAttributeValue3PropertiesPtrType DataAccessorDocumentAttributeValue3PropertiesArgs
+
+func DataAccessorDocumentAttributeValue3PropertiesPtr(v *DataAccessorDocumentAttributeValue3PropertiesArgs) DataAccessorDocumentAttributeValue3PropertiesPtrInput {
+	return (*dataAccessorDocumentAttributeValue3PropertiesPtrType)(v)
+}
+
+func (*dataAccessorDocumentAttributeValue3PropertiesPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue3Properties)(nil)).Elem()
+}
+
+func (i *dataAccessorDocumentAttributeValue3PropertiesPtrType) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutput() DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return i.ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (i *dataAccessorDocumentAttributeValue3PropertiesPtrType) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataAccessorDocumentAttributeValue3PropertiesPtrOutput)
+}
+
+type DataAccessorDocumentAttributeValue3PropertiesOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue3PropertiesOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataAccessorDocumentAttributeValue3Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesOutput) ToDataAccessorDocumentAttributeValue3PropertiesOutput() DataAccessorDocumentAttributeValue3PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesOutput) ToDataAccessorDocumentAttributeValue3PropertiesOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue3PropertiesOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesOutput) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutput() DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return o.ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(context.Background())
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesOutput) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataAccessorDocumentAttributeValue3Properties) *DataAccessorDocumentAttributeValue3Properties {
+		return &v
+	}).(DataAccessorDocumentAttributeValue3PropertiesPtrOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesOutput) DateValue() pulumi.StringOutput {
+	return o.ApplyT(func(v DataAccessorDocumentAttributeValue3Properties) string { return v.DateValue }).(pulumi.StringOutput)
+}
+
+type DataAccessorDocumentAttributeValue3PropertiesPtrOutput struct{ *pulumi.OutputState }
+
+func (DataAccessorDocumentAttributeValue3PropertiesPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataAccessorDocumentAttributeValue3Properties)(nil)).Elem()
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutput() DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesPtrOutput) ToDataAccessorDocumentAttributeValue3PropertiesPtrOutputWithContext(ctx context.Context) DataAccessorDocumentAttributeValue3PropertiesPtrOutput {
+	return o
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesPtrOutput) Elem() DataAccessorDocumentAttributeValue3PropertiesOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue3Properties) DataAccessorDocumentAttributeValue3Properties {
+		if v != nil {
+			return *v
+		}
+		var ret DataAccessorDocumentAttributeValue3Properties
+		return ret
+	}).(DataAccessorDocumentAttributeValue3PropertiesOutput)
+}
+
+func (o DataAccessorDocumentAttributeValue3PropertiesPtrOutput) DateValue() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataAccessorDocumentAttributeValue3Properties) *string {
+		if v == nil {
+			return nil
+		}
+		return &v.DateValue
+	}).(pulumi.StringPtrOutput)
+}
+
+type DataAccessorTag struct {
+	Key   string `pulumi:"key"`
+	Value string `pulumi:"value"`
+}
+
 type DataSourceDocumentAttributeCondition struct {
 	// The identifier of the document attribute used for the condition.
 	//
@@ -1959,80 +3327,215 @@ func (o DataSourceHookConfigurationOutput) LambdaArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v DataSourceHookConfiguration) *string { return v.LambdaArn }).(pulumi.StringPtrOutput)
 }
 
-// The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
-func (o DataSourceHookConfigurationOutput) RoleArn() pulumi.StringPtrOutput {
-	return o.ApplyT(func(v DataSourceHookConfiguration) *string { return v.RoleArn }).(pulumi.StringPtrOutput)
+// The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
+func (o DataSourceHookConfigurationOutput) RoleArn() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v DataSourceHookConfiguration) *string { return v.RoleArn }).(pulumi.StringPtrOutput)
+}
+
+// Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
+func (o DataSourceHookConfigurationOutput) S3BucketName() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v DataSourceHookConfiguration) *string { return v.S3BucketName }).(pulumi.StringPtrOutput)
+}
+
+type DataSourceHookConfigurationPtrOutput struct{ *pulumi.OutputState }
+
+func (DataSourceHookConfigurationPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataSourceHookConfiguration)(nil)).Elem()
+}
+
+func (o DataSourceHookConfigurationPtrOutput) ToDataSourceHookConfigurationPtrOutput() DataSourceHookConfigurationPtrOutput {
+	return o
+}
+
+func (o DataSourceHookConfigurationPtrOutput) ToDataSourceHookConfigurationPtrOutputWithContext(ctx context.Context) DataSourceHookConfigurationPtrOutput {
+	return o
+}
+
+func (o DataSourceHookConfigurationPtrOutput) Elem() DataSourceHookConfigurationOutput {
+	return o.ApplyT(func(v *DataSourceHookConfiguration) DataSourceHookConfiguration {
+		if v != nil {
+			return *v
+		}
+		var ret DataSourceHookConfiguration
+		return ret
+	}).(DataSourceHookConfigurationOutput)
+}
+
+// The condition used for when a Lambda function should be invoked.
+//
+// For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
+func (o DataSourceHookConfigurationPtrOutput) InvocationCondition() DataSourceDocumentAttributeConditionPtrOutput {
+	return o.ApplyT(func(v *DataSourceHookConfiguration) *DataSourceDocumentAttributeCondition {
+		if v == nil {
+			return nil
+		}
+		return v.InvocationCondition
+	}).(DataSourceDocumentAttributeConditionPtrOutput)
+}
+
+// The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion. For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
+func (o DataSourceHookConfigurationPtrOutput) LambdaArn() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataSourceHookConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.LambdaArn
+	}).(pulumi.StringPtrOutput)
+}
+
+// The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
+func (o DataSourceHookConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataSourceHookConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.RoleArn
+	}).(pulumi.StringPtrOutput)
+}
+
+// Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
+func (o DataSourceHookConfigurationPtrOutput) S3BucketName() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *DataSourceHookConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.S3BucketName
+	}).(pulumi.StringPtrOutput)
+}
+
+type DataSourceImageExtractionConfiguration struct {
+	ImageExtractionStatus DataSourceImageExtractionStatus `pulumi:"imageExtractionStatus"`
+}
+
+// DataSourceImageExtractionConfigurationInput is an input type that accepts DataSourceImageExtractionConfigurationArgs and DataSourceImageExtractionConfigurationOutput values.
+// You can construct a concrete instance of `DataSourceImageExtractionConfigurationInput` via:
+//
+//	DataSourceImageExtractionConfigurationArgs{...}
+type DataSourceImageExtractionConfigurationInput interface {
+	pulumi.Input
+
+	ToDataSourceImageExtractionConfigurationOutput() DataSourceImageExtractionConfigurationOutput
+	ToDataSourceImageExtractionConfigurationOutputWithContext(context.Context) DataSourceImageExtractionConfigurationOutput
+}
+
+type DataSourceImageExtractionConfigurationArgs struct {
+	ImageExtractionStatus DataSourceImageExtractionStatusInput `pulumi:"imageExtractionStatus"`
+}
+
+func (DataSourceImageExtractionConfigurationArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataSourceImageExtractionConfiguration)(nil)).Elem()
+}
+
+func (i DataSourceImageExtractionConfigurationArgs) ToDataSourceImageExtractionConfigurationOutput() DataSourceImageExtractionConfigurationOutput {
+	return i.ToDataSourceImageExtractionConfigurationOutputWithContext(context.Background())
+}
+
+func (i DataSourceImageExtractionConfigurationArgs) ToDataSourceImageExtractionConfigurationOutputWithContext(ctx context.Context) DataSourceImageExtractionConfigurationOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataSourceImageExtractionConfigurationOutput)
+}
+
+func (i DataSourceImageExtractionConfigurationArgs) ToDataSourceImageExtractionConfigurationPtrOutput() DataSourceImageExtractionConfigurationPtrOutput {
+	return i.ToDataSourceImageExtractionConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i DataSourceImageExtractionConfigurationArgs) ToDataSourceImageExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataSourceImageExtractionConfigurationOutput).ToDataSourceImageExtractionConfigurationPtrOutputWithContext(ctx)
+}
+
+// DataSourceImageExtractionConfigurationPtrInput is an input type that accepts DataSourceImageExtractionConfigurationArgs, DataSourceImageExtractionConfigurationPtr and DataSourceImageExtractionConfigurationPtrOutput values.
+// You can construct a concrete instance of `DataSourceImageExtractionConfigurationPtrInput` via:
+//
+//	        DataSourceImageExtractionConfigurationArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataSourceImageExtractionConfigurationPtrInput interface {
+	pulumi.Input
+
+	ToDataSourceImageExtractionConfigurationPtrOutput() DataSourceImageExtractionConfigurationPtrOutput
+	ToDataSourceImageExtractionConfigurationPtrOutputWithContext(context.Context) DataSourceImageExtractionConfigurationPtrOutput
+}
+
+type dataSourceImageExtractionConfigurationPtrType DataSourceImageExtractionConfigurationArgs
+
+func DataSourceImageExtractionConfigurationPtr(v *DataSourceImageExtractionConfigurationArgs) DataSourceImageExtractionConfigurationPtrInput {
+	return (*dataSourceImageExtractionConfigurationPtrType)(v)
+}
+
+func (*dataSourceImageExtractionConfigurationPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataSourceImageExtractionConfiguration)(nil)).Elem()
+}
+
+func (i *dataSourceImageExtractionConfigurationPtrType) ToDataSourceImageExtractionConfigurationPtrOutput() DataSourceImageExtractionConfigurationPtrOutput {
+	return i.ToDataSourceImageExtractionConfigurationPtrOutputWithContext(context.Background())
 }
 
-// Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
-func (o DataSourceHookConfigurationOutput) S3BucketName() pulumi.StringPtrOutput {
-	return o.ApplyT(func(v DataSourceHookConfiguration) *string { return v.S3BucketName }).(pulumi.StringPtrOutput)
+func (i *dataSourceImageExtractionConfigurationPtrType) ToDataSourceImageExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataSourceImageExtractionConfigurationPtrOutput)
 }
 
-type DataSourceHookConfigurationPtrOutput struct{ *pulumi.OutputState }
+type DataSourceImageExtractionConfigurationOutput struct{ *pulumi.OutputState }
 
-func (DataSourceHookConfigurationPtrOutput) ElementType() reflect.Type {
-	return reflect.TypeOf((**DataSourceHookConfiguration)(nil)).Elem()
+func (DataSourceImageExtractionConfigurationOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataSourceImageExtractionConfiguration)(nil)).Elem()
 }
 
-func (o DataSourceHookConfigurationPtrOutput) ToDataSourceHookConfigurationPtrOutput() DataSourceHookConfigurationPtrOutput {
+func (o DataSourceImageExtractionConfigurationOutput) ToDataSourceImageExtractionConfigurationOutput() DataSourceImageExtractionConfigurationOutput {
 	return o
 }
 
-func (o DataSourceHookConfigurationPtrOutput) ToDataSourceHookConfigurationPtrOutputWithContext(ctx context.Context) DataSourceHookConfigurationPtrOutput {
+func (o DataSourceImageExtractionConfigurationOutput) ToDataSourceImageExtractionConfigurationOutputWithContext(ctx context.Context) DataSourceImageExtractionConfigurationOutput {
 	return o
 }
 
-func (o DataSourceHookConfigurationPtrOutput) Elem() DataSourceHookConfigurationOutput {
-	return o.ApplyT(func(v *DataSourceHookConfiguration) DataSourceHookConfiguration {
-		if v != nil {
-			return *v
-		}
-		var ret DataSourceHookConfiguration
-		return ret
-	}).(DataSourceHookConfigurationOutput)
+func (o DataSourceImageExtractionConfigurationOutput) ToDataSourceImageExtractionConfigurationPtrOutput() DataSourceImageExtractionConfigurationPtrOutput {
+	return o.ToDataSourceImageExtractionConfigurationPtrOutputWithContext(context.Background())
 }
 
-// The condition used for when a Lambda function should be invoked.
-//
-// For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.
-func (o DataSourceHookConfigurationPtrOutput) InvocationCondition() DataSourceDocumentAttributeConditionPtrOutput {
-	return o.ApplyT(func(v *DataSourceHookConfiguration) *DataSourceDocumentAttributeCondition {
-		if v == nil {
-			return nil
-		}
-		return v.InvocationCondition
-	}).(DataSourceDocumentAttributeConditionPtrOutput)
+func (o DataSourceImageExtractionConfigurationOutput) ToDataSourceImageExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionConfigurationPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceImageExtractionConfiguration) *DataSourceImageExtractionConfiguration {
+		return &v
+	}).(DataSourceImageExtractionConfigurationPtrOutput)
 }
 
-// The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion. For more information, see [IAM roles for Custom Document Enrichment (CDE)](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role) .
-func (o DataSourceHookConfigurationPtrOutput) LambdaArn() pulumi.StringPtrOutput {
-	return o.ApplyT(func(v *DataSourceHookConfiguration) *string {
-		if v == nil {
-			return nil
-		}
-		return v.LambdaArn
-	}).(pulumi.StringPtrOutput)
+func (o DataSourceImageExtractionConfigurationOutput) ImageExtractionStatus() DataSourceImageExtractionStatusOutput {
+	return o.ApplyT(func(v DataSourceImageExtractionConfiguration) DataSourceImageExtractionStatus {
+		return v.ImageExtractionStatus
+	}).(DataSourceImageExtractionStatusOutput)
 }
 
-// The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
-func (o DataSourceHookConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput {
-	return o.ApplyT(func(v *DataSourceHookConfiguration) *string {
-		if v == nil {
-			return nil
+type DataSourceImageExtractionConfigurationPtrOutput struct{ *pulumi.OutputState }
+
+func (DataSourceImageExtractionConfigurationPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataSourceImageExtractionConfiguration)(nil)).Elem()
+}
+
+func (o DataSourceImageExtractionConfigurationPtrOutput) ToDataSourceImageExtractionConfigurationPtrOutput() DataSourceImageExtractionConfigurationPtrOutput {
+	return o
+}
+
+func (o DataSourceImageExtractionConfigurationPtrOutput) ToDataSourceImageExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceImageExtractionConfigurationPtrOutput {
+	return o
+}
+
+func (o DataSourceImageExtractionConfigurationPtrOutput) Elem() DataSourceImageExtractionConfigurationOutput {
+	return o.ApplyT(func(v *DataSourceImageExtractionConfiguration) DataSourceImageExtractionConfiguration {
+		if v != nil {
+			return *v
 		}
-		return v.RoleArn
-	}).(pulumi.StringPtrOutput)
+		var ret DataSourceImageExtractionConfiguration
+		return ret
+	}).(DataSourceImageExtractionConfigurationOutput)
 }
 
-// Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/cde-lambda-operations.html#cde-lambda-operations-data-contracts) .
-func (o DataSourceHookConfigurationPtrOutput) S3BucketName() pulumi.StringPtrOutput {
-	return o.ApplyT(func(v *DataSourceHookConfiguration) *string {
+func (o DataSourceImageExtractionConfigurationPtrOutput) ImageExtractionStatus() DataSourceImageExtractionStatusPtrOutput {
+	return o.ApplyT(func(v *DataSourceImageExtractionConfiguration) *DataSourceImageExtractionStatus {
 		if v == nil {
 			return nil
 		}
-		return v.S3BucketName
-	}).(pulumi.StringPtrOutput)
+		return &v.ImageExtractionStatus
+	}).(DataSourceImageExtractionStatusPtrOutput)
 }
 
 type DataSourceInlineDocumentEnrichmentConfiguration struct {
@@ -2156,6 +3659,141 @@ func (o DataSourceInlineDocumentEnrichmentConfigurationArrayOutput) Index(i pulu
 	}).(DataSourceInlineDocumentEnrichmentConfigurationOutput)
 }
 
+type DataSourceMediaExtractionConfiguration struct {
+	ImageExtractionConfiguration *DataSourceImageExtractionConfiguration `pulumi:"imageExtractionConfiguration"`
+}
+
+// DataSourceMediaExtractionConfigurationInput is an input type that accepts DataSourceMediaExtractionConfigurationArgs and DataSourceMediaExtractionConfigurationOutput values.
+// You can construct a concrete instance of `DataSourceMediaExtractionConfigurationInput` via:
+//
+//	DataSourceMediaExtractionConfigurationArgs{...}
+type DataSourceMediaExtractionConfigurationInput interface {
+	pulumi.Input
+
+	ToDataSourceMediaExtractionConfigurationOutput() DataSourceMediaExtractionConfigurationOutput
+	ToDataSourceMediaExtractionConfigurationOutputWithContext(context.Context) DataSourceMediaExtractionConfigurationOutput
+}
+
+type DataSourceMediaExtractionConfigurationArgs struct {
+	ImageExtractionConfiguration DataSourceImageExtractionConfigurationPtrInput `pulumi:"imageExtractionConfiguration"`
+}
+
+func (DataSourceMediaExtractionConfigurationArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataSourceMediaExtractionConfiguration)(nil)).Elem()
+}
+
+func (i DataSourceMediaExtractionConfigurationArgs) ToDataSourceMediaExtractionConfigurationOutput() DataSourceMediaExtractionConfigurationOutput {
+	return i.ToDataSourceMediaExtractionConfigurationOutputWithContext(context.Background())
+}
+
+func (i DataSourceMediaExtractionConfigurationArgs) ToDataSourceMediaExtractionConfigurationOutputWithContext(ctx context.Context) DataSourceMediaExtractionConfigurationOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataSourceMediaExtractionConfigurationOutput)
+}
+
+func (i DataSourceMediaExtractionConfigurationArgs) ToDataSourceMediaExtractionConfigurationPtrOutput() DataSourceMediaExtractionConfigurationPtrOutput {
+	return i.ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i DataSourceMediaExtractionConfigurationArgs) ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceMediaExtractionConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataSourceMediaExtractionConfigurationOutput).ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(ctx)
+}
+
+// DataSourceMediaExtractionConfigurationPtrInput is an input type that accepts DataSourceMediaExtractionConfigurationArgs, DataSourceMediaExtractionConfigurationPtr and DataSourceMediaExtractionConfigurationPtrOutput values.
+// You can construct a concrete instance of `DataSourceMediaExtractionConfigurationPtrInput` via:
+//
+//	        DataSourceMediaExtractionConfigurationArgs{...}
+//
+//	or:
+//
+//	        nil
+type DataSourceMediaExtractionConfigurationPtrInput interface {
+	pulumi.Input
+
+	ToDataSourceMediaExtractionConfigurationPtrOutput() DataSourceMediaExtractionConfigurationPtrOutput
+	ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(context.Context) DataSourceMediaExtractionConfigurationPtrOutput
+}
+
+type dataSourceMediaExtractionConfigurationPtrType DataSourceMediaExtractionConfigurationArgs
+
+func DataSourceMediaExtractionConfigurationPtr(v *DataSourceMediaExtractionConfigurationArgs) DataSourceMediaExtractionConfigurationPtrInput {
+	return (*dataSourceMediaExtractionConfigurationPtrType)(v)
+}
+
+func (*dataSourceMediaExtractionConfigurationPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataSourceMediaExtractionConfiguration)(nil)).Elem()
+}
+
+func (i *dataSourceMediaExtractionConfigurationPtrType) ToDataSourceMediaExtractionConfigurationPtrOutput() DataSourceMediaExtractionConfigurationPtrOutput {
+	return i.ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i *dataSourceMediaExtractionConfigurationPtrType) ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceMediaExtractionConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(DataSourceMediaExtractionConfigurationPtrOutput)
+}
+
+type DataSourceMediaExtractionConfigurationOutput struct{ *pulumi.OutputState }
+
+func (DataSourceMediaExtractionConfigurationOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*DataSourceMediaExtractionConfiguration)(nil)).Elem()
+}
+
+func (o DataSourceMediaExtractionConfigurationOutput) ToDataSourceMediaExtractionConfigurationOutput() DataSourceMediaExtractionConfigurationOutput {
+	return o
+}
+
+func (o DataSourceMediaExtractionConfigurationOutput) ToDataSourceMediaExtractionConfigurationOutputWithContext(ctx context.Context) DataSourceMediaExtractionConfigurationOutput {
+	return o
+}
+
+func (o DataSourceMediaExtractionConfigurationOutput) ToDataSourceMediaExtractionConfigurationPtrOutput() DataSourceMediaExtractionConfigurationPtrOutput {
+	return o.ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (o DataSourceMediaExtractionConfigurationOutput) ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceMediaExtractionConfigurationPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceMediaExtractionConfiguration) *DataSourceMediaExtractionConfiguration {
+		return &v
+	}).(DataSourceMediaExtractionConfigurationPtrOutput)
+}
+
+func (o DataSourceMediaExtractionConfigurationOutput) ImageExtractionConfiguration() DataSourceImageExtractionConfigurationPtrOutput {
+	return o.ApplyT(func(v DataSourceMediaExtractionConfiguration) *DataSourceImageExtractionConfiguration {
+		return v.ImageExtractionConfiguration
+	}).(DataSourceImageExtractionConfigurationPtrOutput)
+}
+
+type DataSourceMediaExtractionConfigurationPtrOutput struct{ *pulumi.OutputState }
+
+func (DataSourceMediaExtractionConfigurationPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**DataSourceMediaExtractionConfiguration)(nil)).Elem()
+}
+
+func (o DataSourceMediaExtractionConfigurationPtrOutput) ToDataSourceMediaExtractionConfigurationPtrOutput() DataSourceMediaExtractionConfigurationPtrOutput {
+	return o
+}
+
+func (o DataSourceMediaExtractionConfigurationPtrOutput) ToDataSourceMediaExtractionConfigurationPtrOutputWithContext(ctx context.Context) DataSourceMediaExtractionConfigurationPtrOutput {
+	return o
+}
+
+func (o DataSourceMediaExtractionConfigurationPtrOutput) Elem() DataSourceMediaExtractionConfigurationOutput {
+	return o.ApplyT(func(v *DataSourceMediaExtractionConfiguration) DataSourceMediaExtractionConfiguration {
+		if v != nil {
+			return *v
+		}
+		var ret DataSourceMediaExtractionConfiguration
+		return ret
+	}).(DataSourceMediaExtractionConfigurationOutput)
+}
+
+func (o DataSourceMediaExtractionConfigurationPtrOutput) ImageExtractionConfiguration() DataSourceImageExtractionConfigurationPtrOutput {
+	return o.ApplyT(func(v *DataSourceMediaExtractionConfiguration) *DataSourceImageExtractionConfiguration {
+		if v == nil {
+			return nil
+		}
+		return v.ImageExtractionConfiguration
+	}).(DataSourceImageExtractionConfigurationPtrOutput)
+}
+
 type DataSourceTag struct {
 	// The key for the tag. Keys are not case sensitive and must be unique for the Amazon Q Business application or data source.
 	Key string `pulumi:"key"`
@@ -3567,8 +5205,10 @@ func (o PluginNoAuthConfigurationPtrOutput) Elem() PluginNoAuthConfigurationOutp
 }
 
 type PluginOAuth2ClientCredentialConfiguration struct {
-	RoleArn   string `pulumi:"roleArn"`
-	SecretArn string `pulumi:"secretArn"`
+	AuthorizationUrl *string `pulumi:"authorizationUrl"`
+	RoleArn          string  `pulumi:"roleArn"`
+	SecretArn        string  `pulumi:"secretArn"`
+	TokenUrl         *string `pulumi:"tokenUrl"`
 }
 
 // PluginOAuth2ClientCredentialConfigurationInput is an input type that accepts PluginOAuth2ClientCredentialConfigurationArgs and PluginOAuth2ClientCredentialConfigurationOutput values.
@@ -3583,8 +5223,10 @@ type PluginOAuth2ClientCredentialConfigurationInput interface {
 }
 
 type PluginOAuth2ClientCredentialConfigurationArgs struct {
-	RoleArn   pulumi.StringInput `pulumi:"roleArn"`
-	SecretArn pulumi.StringInput `pulumi:"secretArn"`
+	AuthorizationUrl pulumi.StringPtrInput `pulumi:"authorizationUrl"`
+	RoleArn          pulumi.StringInput    `pulumi:"roleArn"`
+	SecretArn        pulumi.StringInput    `pulumi:"secretArn"`
+	TokenUrl         pulumi.StringPtrInput `pulumi:"tokenUrl"`
 }
 
 func (PluginOAuth2ClientCredentialConfigurationArgs) ElementType() reflect.Type {
@@ -3613,6 +5255,10 @@ func (o PluginOAuth2ClientCredentialConfigurationOutput) ToPluginOAuth2ClientCre
 	return o
 }
 
+func (o PluginOAuth2ClientCredentialConfigurationOutput) AuthorizationUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v PluginOAuth2ClientCredentialConfiguration) *string { return v.AuthorizationUrl }).(pulumi.StringPtrOutput)
+}
+
 func (o PluginOAuth2ClientCredentialConfigurationOutput) RoleArn() pulumi.StringOutput {
 	return o.ApplyT(func(v PluginOAuth2ClientCredentialConfiguration) string { return v.RoleArn }).(pulumi.StringOutput)
 }
@@ -3621,6 +5267,10 @@ func (o PluginOAuth2ClientCredentialConfigurationOutput) SecretArn() pulumi.Stri
 	return o.ApplyT(func(v PluginOAuth2ClientCredentialConfiguration) string { return v.SecretArn }).(pulumi.StringOutput)
 }
 
+func (o PluginOAuth2ClientCredentialConfigurationOutput) TokenUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v PluginOAuth2ClientCredentialConfiguration) *string { return v.TokenUrl }).(pulumi.StringPtrOutput)
+}
+
 type PluginOAuth2ClientCredentialConfigurationPtrOutput struct{ *pulumi.OutputState }
 
 func (PluginOAuth2ClientCredentialConfigurationPtrOutput) ElementType() reflect.Type {
@@ -3645,6 +5295,15 @@ func (o PluginOAuth2ClientCredentialConfigurationPtrOutput) Elem() PluginOAuth2C
 	}).(PluginOAuth2ClientCredentialConfigurationOutput)
 }
 
+func (o PluginOAuth2ClientCredentialConfigurationPtrOutput) AuthorizationUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *PluginOAuth2ClientCredentialConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.AuthorizationUrl
+	}).(pulumi.StringPtrOutput)
+}
+
 func (o PluginOAuth2ClientCredentialConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *PluginOAuth2ClientCredentialConfiguration) *string {
 		if v == nil {
@@ -3663,6 +5322,15 @@ func (o PluginOAuth2ClientCredentialConfigurationPtrOutput) SecretArn() pulumi.S
 	}).(pulumi.StringPtrOutput)
 }
 
+func (o PluginOAuth2ClientCredentialConfigurationPtrOutput) TokenUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *PluginOAuth2ClientCredentialConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.TokenUrl
+	}).(pulumi.StringPtrOutput)
+}
+
 type PluginS3 struct {
 	Bucket string `pulumi:"bucket"`
 	Key    string `pulumi:"key"`
@@ -4157,6 +5825,184 @@ type RetrieverTag struct {
 	Value string `pulumi:"value"`
 }
 
+type WebExperienceCustomizationConfiguration struct {
+	CustomCssUrl *string `pulumi:"customCssUrl"`
+	FaviconUrl   *string `pulumi:"faviconUrl"`
+	FontUrl      *string `pulumi:"fontUrl"`
+	LogoUrl      *string `pulumi:"logoUrl"`
+}
+
+// WebExperienceCustomizationConfigurationInput is an input type that accepts WebExperienceCustomizationConfigurationArgs and WebExperienceCustomizationConfigurationOutput values.
+// You can construct a concrete instance of `WebExperienceCustomizationConfigurationInput` via:
+//
+//	WebExperienceCustomizationConfigurationArgs{...}
+type WebExperienceCustomizationConfigurationInput interface {
+	pulumi.Input
+
+	ToWebExperienceCustomizationConfigurationOutput() WebExperienceCustomizationConfigurationOutput
+	ToWebExperienceCustomizationConfigurationOutputWithContext(context.Context) WebExperienceCustomizationConfigurationOutput
+}
+
+type WebExperienceCustomizationConfigurationArgs struct {
+	CustomCssUrl pulumi.StringPtrInput `pulumi:"customCssUrl"`
+	FaviconUrl   pulumi.StringPtrInput `pulumi:"faviconUrl"`
+	FontUrl      pulumi.StringPtrInput `pulumi:"fontUrl"`
+	LogoUrl      pulumi.StringPtrInput `pulumi:"logoUrl"`
+}
+
+func (WebExperienceCustomizationConfigurationArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*WebExperienceCustomizationConfiguration)(nil)).Elem()
+}
+
+func (i WebExperienceCustomizationConfigurationArgs) ToWebExperienceCustomizationConfigurationOutput() WebExperienceCustomizationConfigurationOutput {
+	return i.ToWebExperienceCustomizationConfigurationOutputWithContext(context.Background())
+}
+
+func (i WebExperienceCustomizationConfigurationArgs) ToWebExperienceCustomizationConfigurationOutputWithContext(ctx context.Context) WebExperienceCustomizationConfigurationOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(WebExperienceCustomizationConfigurationOutput)
+}
+
+func (i WebExperienceCustomizationConfigurationArgs) ToWebExperienceCustomizationConfigurationPtrOutput() WebExperienceCustomizationConfigurationPtrOutput {
+	return i.ToWebExperienceCustomizationConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i WebExperienceCustomizationConfigurationArgs) ToWebExperienceCustomizationConfigurationPtrOutputWithContext(ctx context.Context) WebExperienceCustomizationConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(WebExperienceCustomizationConfigurationOutput).ToWebExperienceCustomizationConfigurationPtrOutputWithContext(ctx)
+}
+
+// WebExperienceCustomizationConfigurationPtrInput is an input type that accepts WebExperienceCustomizationConfigurationArgs, WebExperienceCustomizationConfigurationPtr and WebExperienceCustomizationConfigurationPtrOutput values.
+// You can construct a concrete instance of `WebExperienceCustomizationConfigurationPtrInput` via:
+//
+//	        WebExperienceCustomizationConfigurationArgs{...}
+//
+//	or:
+//
+//	        nil
+type WebExperienceCustomizationConfigurationPtrInput interface {
+	pulumi.Input
+
+	ToWebExperienceCustomizationConfigurationPtrOutput() WebExperienceCustomizationConfigurationPtrOutput
+	ToWebExperienceCustomizationConfigurationPtrOutputWithContext(context.Context) WebExperienceCustomizationConfigurationPtrOutput
+}
+
+type webExperienceCustomizationConfigurationPtrType WebExperienceCustomizationConfigurationArgs
+
+func WebExperienceCustomizationConfigurationPtr(v *WebExperienceCustomizationConfigurationArgs) WebExperienceCustomizationConfigurationPtrInput {
+	return (*webExperienceCustomizationConfigurationPtrType)(v)
+}
+
+func (*webExperienceCustomizationConfigurationPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**WebExperienceCustomizationConfiguration)(nil)).Elem()
+}
+
+func (i *webExperienceCustomizationConfigurationPtrType) ToWebExperienceCustomizationConfigurationPtrOutput() WebExperienceCustomizationConfigurationPtrOutput {
+	return i.ToWebExperienceCustomizationConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (i *webExperienceCustomizationConfigurationPtrType) ToWebExperienceCustomizationConfigurationPtrOutputWithContext(ctx context.Context) WebExperienceCustomizationConfigurationPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(WebExperienceCustomizationConfigurationPtrOutput)
+}
+
+type WebExperienceCustomizationConfigurationOutput struct{ *pulumi.OutputState }
+
+func (WebExperienceCustomizationConfigurationOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*WebExperienceCustomizationConfiguration)(nil)).Elem()
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) ToWebExperienceCustomizationConfigurationOutput() WebExperienceCustomizationConfigurationOutput {
+	return o
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) ToWebExperienceCustomizationConfigurationOutputWithContext(ctx context.Context) WebExperienceCustomizationConfigurationOutput {
+	return o
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) ToWebExperienceCustomizationConfigurationPtrOutput() WebExperienceCustomizationConfigurationPtrOutput {
+	return o.ToWebExperienceCustomizationConfigurationPtrOutputWithContext(context.Background())
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) ToWebExperienceCustomizationConfigurationPtrOutputWithContext(ctx context.Context) WebExperienceCustomizationConfigurationPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v WebExperienceCustomizationConfiguration) *WebExperienceCustomizationConfiguration {
+		return &v
+	}).(WebExperienceCustomizationConfigurationPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) CustomCssUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v WebExperienceCustomizationConfiguration) *string { return v.CustomCssUrl }).(pulumi.StringPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) FaviconUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v WebExperienceCustomizationConfiguration) *string { return v.FaviconUrl }).(pulumi.StringPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) FontUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v WebExperienceCustomizationConfiguration) *string { return v.FontUrl }).(pulumi.StringPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationOutput) LogoUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v WebExperienceCustomizationConfiguration) *string { return v.LogoUrl }).(pulumi.StringPtrOutput)
+}
+
+type WebExperienceCustomizationConfigurationPtrOutput struct{ *pulumi.OutputState }
+
+func (WebExperienceCustomizationConfigurationPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**WebExperienceCustomizationConfiguration)(nil)).Elem()
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) ToWebExperienceCustomizationConfigurationPtrOutput() WebExperienceCustomizationConfigurationPtrOutput {
+	return o
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) ToWebExperienceCustomizationConfigurationPtrOutputWithContext(ctx context.Context) WebExperienceCustomizationConfigurationPtrOutput {
+	return o
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) Elem() WebExperienceCustomizationConfigurationOutput {
+	return o.ApplyT(func(v *WebExperienceCustomizationConfiguration) WebExperienceCustomizationConfiguration {
+		if v != nil {
+			return *v
+		}
+		var ret WebExperienceCustomizationConfiguration
+		return ret
+	}).(WebExperienceCustomizationConfigurationOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) CustomCssUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *WebExperienceCustomizationConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.CustomCssUrl
+	}).(pulumi.StringPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) FaviconUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *WebExperienceCustomizationConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.FaviconUrl
+	}).(pulumi.StringPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) FontUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *WebExperienceCustomizationConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.FontUrl
+	}).(pulumi.StringPtrOutput)
+}
+
+func (o WebExperienceCustomizationConfigurationPtrOutput) LogoUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *WebExperienceCustomizationConfiguration) *string {
+		if v == nil {
+			return nil
+		}
+		return v.LogoUrl
+	}).(pulumi.StringPtrOutput)
+}
+
 type WebExperienceIdentityProviderConfiguration0Properties struct {
 	SamlConfiguration WebExperienceSamlProviderConfiguration `pulumi:"samlConfiguration"`
 }
@@ -4726,6 +6572,25 @@ func init() {
 	pulumi.RegisterInputType(reflect.TypeOf((*ApplicationPersonalizationConfigurationPtrInput)(nil)).Elem(), ApplicationPersonalizationConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*ApplicationQAppsConfigurationInput)(nil)).Elem(), ApplicationQAppsConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*ApplicationQAppsConfigurationPtrInput)(nil)).Elem(), ApplicationQAppsConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*ApplicationQuickSightConfigurationInput)(nil)).Elem(), ApplicationQuickSightConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*ApplicationQuickSightConfigurationPtrInput)(nil)).Elem(), ApplicationQuickSightConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorActionConfigurationInput)(nil)).Elem(), DataAccessorActionConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorActionConfigurationArrayInput)(nil)).Elem(), DataAccessorActionConfigurationArray{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorActionFilterConfigurationInput)(nil)).Elem(), DataAccessorActionFilterConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorActionFilterConfigurationPtrInput)(nil)).Elem(), DataAccessorActionFilterConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorAttributeFilterInput)(nil)).Elem(), DataAccessorAttributeFilterArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorAttributeFilterPtrInput)(nil)).Elem(), DataAccessorAttributeFilterArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorAttributeFilterArrayInput)(nil)).Elem(), DataAccessorAttributeFilterArray{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeInput)(nil)).Elem(), DataAccessorDocumentAttributeArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributePtrInput)(nil)).Elem(), DataAccessorDocumentAttributeArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue0PropertiesInput)(nil)).Elem(), DataAccessorDocumentAttributeValue0PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue0PropertiesPtrInput)(nil)).Elem(), DataAccessorDocumentAttributeValue0PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue1PropertiesInput)(nil)).Elem(), DataAccessorDocumentAttributeValue1PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue1PropertiesPtrInput)(nil)).Elem(), DataAccessorDocumentAttributeValue1PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue2PropertiesInput)(nil)).Elem(), DataAccessorDocumentAttributeValue2PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue2PropertiesPtrInput)(nil)).Elem(), DataAccessorDocumentAttributeValue2PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue3PropertiesInput)(nil)).Elem(), DataAccessorDocumentAttributeValue3PropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataAccessorDocumentAttributeValue3PropertiesPtrInput)(nil)).Elem(), DataAccessorDocumentAttributeValue3PropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentAttributeConditionInput)(nil)).Elem(), DataSourceDocumentAttributeConditionArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentAttributeConditionPtrInput)(nil)).Elem(), DataSourceDocumentAttributeConditionArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentAttributeTargetInput)(nil)).Elem(), DataSourceDocumentAttributeTargetArgs{})
@@ -4742,8 +6607,12 @@ func init() {
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceDocumentEnrichmentConfigurationPtrInput)(nil)).Elem(), DataSourceDocumentEnrichmentConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceHookConfigurationInput)(nil)).Elem(), DataSourceHookConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceHookConfigurationPtrInput)(nil)).Elem(), DataSourceHookConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceImageExtractionConfigurationInput)(nil)).Elem(), DataSourceImageExtractionConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceImageExtractionConfigurationPtrInput)(nil)).Elem(), DataSourceImageExtractionConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceInlineDocumentEnrichmentConfigurationInput)(nil)).Elem(), DataSourceInlineDocumentEnrichmentConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceInlineDocumentEnrichmentConfigurationArrayInput)(nil)).Elem(), DataSourceInlineDocumentEnrichmentConfigurationArray{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMediaExtractionConfigurationInput)(nil)).Elem(), DataSourceMediaExtractionConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMediaExtractionConfigurationPtrInput)(nil)).Elem(), DataSourceMediaExtractionConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceVpcConfigurationInput)(nil)).Elem(), DataSourceVpcConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*DataSourceVpcConfigurationPtrInput)(nil)).Elem(), DataSourceVpcConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*IndexCapacityConfigurationInput)(nil)).Elem(), IndexCapacityConfigurationArgs{})
@@ -4768,6 +6637,8 @@ func init() {
 	pulumi.RegisterInputType(reflect.TypeOf((*RetrieverConfiguration1PropertiesInput)(nil)).Elem(), RetrieverConfiguration1PropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*RetrieverKendraIndexConfigurationInput)(nil)).Elem(), RetrieverKendraIndexConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*RetrieverNativeIndexConfigurationInput)(nil)).Elem(), RetrieverNativeIndexConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*WebExperienceCustomizationConfigurationInput)(nil)).Elem(), WebExperienceCustomizationConfigurationArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*WebExperienceCustomizationConfigurationPtrInput)(nil)).Elem(), WebExperienceCustomizationConfigurationArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*WebExperienceIdentityProviderConfiguration0PropertiesInput)(nil)).Elem(), WebExperienceIdentityProviderConfiguration0PropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*WebExperienceIdentityProviderConfiguration0PropertiesPtrInput)(nil)).Elem(), WebExperienceIdentityProviderConfiguration0PropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*WebExperienceIdentityProviderConfiguration1PropertiesInput)(nil)).Elem(), WebExperienceIdentityProviderConfiguration1PropertiesArgs{})
@@ -4786,6 +6657,25 @@ func init() {
 	pulumi.RegisterOutputType(ApplicationPersonalizationConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(ApplicationQAppsConfigurationOutput{})
 	pulumi.RegisterOutputType(ApplicationQAppsConfigurationPtrOutput{})
+	pulumi.RegisterOutputType(ApplicationQuickSightConfigurationOutput{})
+	pulumi.RegisterOutputType(ApplicationQuickSightConfigurationPtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorActionConfigurationOutput{})
+	pulumi.RegisterOutputType(DataAccessorActionConfigurationArrayOutput{})
+	pulumi.RegisterOutputType(DataAccessorActionFilterConfigurationOutput{})
+	pulumi.RegisterOutputType(DataAccessorActionFilterConfigurationPtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorAttributeFilterOutput{})
+	pulumi.RegisterOutputType(DataAccessorAttributeFilterPtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorAttributeFilterArrayOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributePtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue0PropertiesOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue0PropertiesPtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue1PropertiesOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue1PropertiesPtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue2PropertiesOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue2PropertiesPtrOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue3PropertiesOutput{})
+	pulumi.RegisterOutputType(DataAccessorDocumentAttributeValue3PropertiesPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceDocumentAttributeConditionOutput{})
 	pulumi.RegisterOutputType(DataSourceDocumentAttributeConditionPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceDocumentAttributeTargetOutput{})
@@ -4802,8 +6692,12 @@ func init() {
 	pulumi.RegisterOutputType(DataSourceDocumentEnrichmentConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceHookConfigurationOutput{})
 	pulumi.RegisterOutputType(DataSourceHookConfigurationPtrOutput{})
+	pulumi.RegisterOutputType(DataSourceImageExtractionConfigurationOutput{})
+	pulumi.RegisterOutputType(DataSourceImageExtractionConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceInlineDocumentEnrichmentConfigurationOutput{})
 	pulumi.RegisterOutputType(DataSourceInlineDocumentEnrichmentConfigurationArrayOutput{})
+	pulumi.RegisterOutputType(DataSourceMediaExtractionConfigurationOutput{})
+	pulumi.RegisterOutputType(DataSourceMediaExtractionConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(DataSourceVpcConfigurationOutput{})
 	pulumi.RegisterOutputType(DataSourceVpcConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(IndexCapacityConfigurationOutput{})
@@ -4842,6 +6736,8 @@ func init() {
 	pulumi.RegisterOutputType(RetrieverKendraIndexConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(RetrieverNativeIndexConfigurationOutput{})
 	pulumi.RegisterOutputType(RetrieverNativeIndexConfigurationPtrOutput{})
+	pulumi.RegisterOutputType(WebExperienceCustomizationConfigurationOutput{})
+	pulumi.RegisterOutputType(WebExperienceCustomizationConfigurationPtrOutput{})
 	pulumi.RegisterOutputType(WebExperienceIdentityProviderConfiguration0PropertiesOutput{})
 	pulumi.RegisterOutputType(WebExperienceIdentityProviderConfiguration0PropertiesPtrOutput{})
 	pulumi.RegisterOutputType(WebExperienceIdentityProviderConfiguration1PropertiesOutput{})
diff --git a/sdk/go/aws/qbusiness/webExperience.go b/sdk/go/aws/qbusiness/webExperience.go
index e0c25969fa..b8d2841b2f 100644
--- a/sdk/go/aws/qbusiness/webExperience.go
+++ b/sdk/go/aws/qbusiness/webExperience.go
@@ -20,7 +20,8 @@ type WebExperience struct {
 	// The identifier of the Amazon Q Business web experience.
 	ApplicationId pulumi.StringOutput `pulumi:"applicationId"`
 	// The Unix timestamp when the Amazon Q Business application was last updated.
-	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
+	CreatedAt                  pulumi.StringOutput                              `pulumi:"createdAt"`
+	CustomizationConfiguration WebExperienceCustomizationConfigurationPtrOutput `pulumi:"customizationConfiguration"`
 	// The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
 	DefaultEndpoint pulumi.StringOutput `pulumi:"defaultEndpoint"`
 	// Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
@@ -101,7 +102,8 @@ func (WebExperienceState) ElementType() reflect.Type {
 
 type webExperienceArgs struct {
 	// The identifier of the Amazon Q Business web experience.
-	ApplicationId string `pulumi:"applicationId"`
+	ApplicationId              string                                   `pulumi:"applicationId"`
+	CustomizationConfiguration *WebExperienceCustomizationConfiguration `pulumi:"customizationConfiguration"`
 	// Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
 	IdentityProviderConfiguration interface{} `pulumi:"identityProviderConfiguration"`
 	// Sets the website domain origins that are allowed to embed the Amazon Q Business web experience. The *domain origin* refers to the base URL for accessing a website including the protocol ( `http/https` ), the domain name, and the port number (if specified).
@@ -127,7 +129,8 @@ type webExperienceArgs struct {
 // The set of arguments for constructing a WebExperience resource.
 type WebExperienceArgs struct {
 	// The identifier of the Amazon Q Business web experience.
-	ApplicationId pulumi.StringInput
+	ApplicationId              pulumi.StringInput
+	CustomizationConfiguration WebExperienceCustomizationConfigurationPtrInput
 	// Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
 	IdentityProviderConfiguration pulumi.Input
 	// Sets the website domain origins that are allowed to embed the Amazon Q Business web experience. The *domain origin* refers to the base URL for accessing a website including the protocol ( `http/https` ), the domain name, and the port number (if specified).
@@ -197,6 +200,12 @@ func (o WebExperienceOutput) CreatedAt() pulumi.StringOutput {
 	return o.ApplyT(func(v *WebExperience) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput)
 }
 
+func (o WebExperienceOutput) CustomizationConfiguration() WebExperienceCustomizationConfigurationPtrOutput {
+	return o.ApplyT(func(v *WebExperience) WebExperienceCustomizationConfigurationPtrOutput {
+		return v.CustomizationConfiguration
+	}).(WebExperienceCustomizationConfigurationPtrOutput)
+}
+
 // The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
 func (o WebExperienceOutput) DefaultEndpoint() pulumi.StringOutput {
 	return o.ApplyT(func(v *WebExperience) pulumi.StringOutput { return v.DefaultEndpoint }).(pulumi.StringOutput)
diff --git a/sdk/go/aws/sagemaker/getPartnerApp.go b/sdk/go/aws/sagemaker/getPartnerApp.go
new file mode 100644
index 0000000000..e3712cba4d
--- /dev/null
+++ b/sdk/go/aws/sagemaker/getPartnerApp.go
@@ -0,0 +1,127 @@
+// Code generated by pulumi-language-go DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package sagemaker
+
+import (
+	"context"
+	"reflect"
+
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal"
+	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+)
+
+// Resource Type definition for AWS::SageMaker::PartnerApp
+func LookupPartnerApp(ctx *pulumi.Context, args *LookupPartnerAppArgs, opts ...pulumi.InvokeOption) (*LookupPartnerAppResult, error) {
+	opts = internal.PkgInvokeDefaultOpts(opts)
+	var rv LookupPartnerAppResult
+	err := ctx.Invoke("aws-native:sagemaker:getPartnerApp", args, &rv, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &rv, nil
+}
+
+type LookupPartnerAppArgs struct {
+	// The Amazon Resource Name (ARN) of the created PartnerApp.
+	Arn string `pulumi:"arn"`
+}
+
+type LookupPartnerAppResult struct {
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	ApplicationConfig *PartnerAppConfig `pulumi:"applicationConfig"`
+	// The Amazon Resource Name (ARN) of the created PartnerApp.
+	Arn *string `pulumi:"arn"`
+	// The AppServerUrl based on app and account-info.
+	BaseUrl *string `pulumi:"baseUrl"`
+	// Enables IAM Session based Identity for PartnerApp.
+	EnableIamSessionBasedIdentity *bool `pulumi:"enableIamSessionBasedIdentity"`
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	MaintenanceConfig *PartnerAppMaintenanceConfig `pulumi:"maintenanceConfig"`
+	// A list of tags to apply to the PartnerApp.
+	Tags []aws.Tag `pulumi:"tags"`
+	// The tier of the PartnerApp.
+	Tier *string `pulumi:"tier"`
+}
+
+func LookupPartnerAppOutput(ctx *pulumi.Context, args LookupPartnerAppOutputArgs, opts ...pulumi.InvokeOption) LookupPartnerAppResultOutput {
+	return pulumi.ToOutputWithContext(context.Background(), args).
+		ApplyT(func(v interface{}) (LookupPartnerAppResultOutput, error) {
+			args := v.(LookupPartnerAppArgs)
+			opts = internal.PkgInvokeDefaultOpts(opts)
+			var rv LookupPartnerAppResult
+			secret, err := ctx.InvokePackageRaw("aws-native:sagemaker:getPartnerApp", args, &rv, "", opts...)
+			if err != nil {
+				return LookupPartnerAppResultOutput{}, err
+			}
+
+			output := pulumi.ToOutput(rv).(LookupPartnerAppResultOutput)
+			if secret {
+				return pulumi.ToSecret(output).(LookupPartnerAppResultOutput), nil
+			}
+			return output, nil
+		}).(LookupPartnerAppResultOutput)
+}
+
+type LookupPartnerAppOutputArgs struct {
+	// The Amazon Resource Name (ARN) of the created PartnerApp.
+	Arn pulumi.StringInput `pulumi:"arn"`
+}
+
+func (LookupPartnerAppOutputArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*LookupPartnerAppArgs)(nil)).Elem()
+}
+
+type LookupPartnerAppResultOutput struct{ *pulumi.OutputState }
+
+func (LookupPartnerAppResultOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*LookupPartnerAppResult)(nil)).Elem()
+}
+
+func (o LookupPartnerAppResultOutput) ToLookupPartnerAppResultOutput() LookupPartnerAppResultOutput {
+	return o
+}
+
+func (o LookupPartnerAppResultOutput) ToLookupPartnerAppResultOutputWithContext(ctx context.Context) LookupPartnerAppResultOutput {
+	return o
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+func (o LookupPartnerAppResultOutput) ApplicationConfig() PartnerAppConfigPtrOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) *PartnerAppConfig { return v.ApplicationConfig }).(PartnerAppConfigPtrOutput)
+}
+
+// The Amazon Resource Name (ARN) of the created PartnerApp.
+func (o LookupPartnerAppResultOutput) Arn() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) *string { return v.Arn }).(pulumi.StringPtrOutput)
+}
+
+// The AppServerUrl based on app and account-info.
+func (o LookupPartnerAppResultOutput) BaseUrl() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) *string { return v.BaseUrl }).(pulumi.StringPtrOutput)
+}
+
+// Enables IAM Session based Identity for PartnerApp.
+func (o LookupPartnerAppResultOutput) EnableIamSessionBasedIdentity() pulumi.BoolPtrOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) *bool { return v.EnableIamSessionBasedIdentity }).(pulumi.BoolPtrOutput)
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+func (o LookupPartnerAppResultOutput) MaintenanceConfig() PartnerAppMaintenanceConfigPtrOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) *PartnerAppMaintenanceConfig { return v.MaintenanceConfig }).(PartnerAppMaintenanceConfigPtrOutput)
+}
+
+// A list of tags to apply to the PartnerApp.
+func (o LookupPartnerAppResultOutput) Tags() aws.TagArrayOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput)
+}
+
+// The tier of the PartnerApp.
+func (o LookupPartnerAppResultOutput) Tier() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v LookupPartnerAppResult) *string { return v.Tier }).(pulumi.StringPtrOutput)
+}
+
+func init() {
+	pulumi.RegisterOutputType(LookupPartnerAppResultOutput{})
+}
diff --git a/sdk/go/aws/sagemaker/init.go b/sdk/go/aws/sagemaker/init.go
index ca334a634c..109d9c5ae2 100644
--- a/sdk/go/aws/sagemaker/init.go
+++ b/sdk/go/aws/sagemaker/init.go
@@ -63,6 +63,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
 		r = &ModelQualityJobDefinition{}
 	case "aws-native:sagemaker:MonitoringSchedule":
 		r = &MonitoringSchedule{}
+	case "aws-native:sagemaker:PartnerApp":
+		r = &PartnerApp{}
 	case "aws-native:sagemaker:Pipeline":
 		r = &Pipeline{}
 	case "aws-native:sagemaker:Project":
diff --git a/sdk/go/aws/sagemaker/partnerApp.go b/sdk/go/aws/sagemaker/partnerApp.go
new file mode 100644
index 0000000000..f69c8ff0d7
--- /dev/null
+++ b/sdk/go/aws/sagemaker/partnerApp.go
@@ -0,0 +1,251 @@
+// Code generated by pulumi-language-go DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package sagemaker
+
+import (
+	"context"
+	"reflect"
+
+	"errors"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws"
+	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal"
+	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+)
+
+// Resource Type definition for AWS::SageMaker::PartnerApp
+type PartnerApp struct {
+	pulumi.CustomResourceState
+
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	ApplicationConfig PartnerAppConfigPtrOutput `pulumi:"applicationConfig"`
+	// The Amazon Resource Name (ARN) of the created PartnerApp.
+	Arn pulumi.StringOutput `pulumi:"arn"`
+	// The Auth type of PartnerApp.
+	AuthType PartnerAppAuthTypeOutput `pulumi:"authType"`
+	// The AppServerUrl based on app and account-info.
+	BaseUrl pulumi.StringOutput `pulumi:"baseUrl"`
+	// The client token for the PartnerApp.
+	ClientToken pulumi.StringPtrOutput `pulumi:"clientToken"`
+	// Enables IAM Session based Identity for PartnerApp.
+	EnableIamSessionBasedIdentity pulumi.BoolPtrOutput `pulumi:"enableIamSessionBasedIdentity"`
+	// The execution role for the user.
+	ExecutionRoleArn pulumi.StringOutput `pulumi:"executionRoleArn"`
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	MaintenanceConfig PartnerAppMaintenanceConfigPtrOutput `pulumi:"maintenanceConfig"`
+	// A name for the PartnerApp.
+	Name pulumi.StringOutput `pulumi:"name"`
+	// A list of tags to apply to the PartnerApp.
+	Tags aws.TagArrayOutput `pulumi:"tags"`
+	// The tier of the PartnerApp.
+	Tier pulumi.StringOutput `pulumi:"tier"`
+	// The type of PartnerApp.
+	Type PartnerAppTypeOutput `pulumi:"type"`
+}
+
+// NewPartnerApp registers a new resource with the given unique name, arguments, and options.
+func NewPartnerApp(ctx *pulumi.Context,
+	name string, args *PartnerAppArgs, opts ...pulumi.ResourceOption) (*PartnerApp, error) {
+	if args == nil {
+		return nil, errors.New("missing one or more required arguments")
+	}
+
+	if args.AuthType == nil {
+		return nil, errors.New("invalid value for required argument 'AuthType'")
+	}
+	if args.ExecutionRoleArn == nil {
+		return nil, errors.New("invalid value for required argument 'ExecutionRoleArn'")
+	}
+	if args.Tier == nil {
+		return nil, errors.New("invalid value for required argument 'Tier'")
+	}
+	if args.Type == nil {
+		return nil, errors.New("invalid value for required argument 'Type'")
+	}
+	replaceOnChanges := pulumi.ReplaceOnChanges([]string{
+		"authType",
+		"executionRoleArn",
+		"name",
+		"type",
+	})
+	opts = append(opts, replaceOnChanges)
+	opts = internal.PkgResourceDefaultOpts(opts)
+	var resource PartnerApp
+	err := ctx.RegisterResource("aws-native:sagemaker:PartnerApp", name, args, &resource, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &resource, nil
+}
+
+// GetPartnerApp gets an existing PartnerApp resource's state with the given name, ID, and optional
+// state properties that are used to uniquely qualify the lookup (nil if not required).
+func GetPartnerApp(ctx *pulumi.Context,
+	name string, id pulumi.IDInput, state *PartnerAppState, opts ...pulumi.ResourceOption) (*PartnerApp, error) {
+	var resource PartnerApp
+	err := ctx.ReadResource("aws-native:sagemaker:PartnerApp", name, id, state, &resource, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &resource, nil
+}
+
+// Input properties used for looking up and filtering PartnerApp resources.
+type partnerAppState struct {
+}
+
+type PartnerAppState struct {
+}
+
+func (PartnerAppState) ElementType() reflect.Type {
+	return reflect.TypeOf((*partnerAppState)(nil)).Elem()
+}
+
+type partnerAppArgs struct {
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	ApplicationConfig *PartnerAppConfig `pulumi:"applicationConfig"`
+	// The Auth type of PartnerApp.
+	AuthType PartnerAppAuthType `pulumi:"authType"`
+	// The client token for the PartnerApp.
+	ClientToken *string `pulumi:"clientToken"`
+	// Enables IAM Session based Identity for PartnerApp.
+	EnableIamSessionBasedIdentity *bool `pulumi:"enableIamSessionBasedIdentity"`
+	// The execution role for the user.
+	ExecutionRoleArn string `pulumi:"executionRoleArn"`
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	MaintenanceConfig *PartnerAppMaintenanceConfig `pulumi:"maintenanceConfig"`
+	// A name for the PartnerApp.
+	Name *string `pulumi:"name"`
+	// A list of tags to apply to the PartnerApp.
+	Tags []aws.Tag `pulumi:"tags"`
+	// The tier of the PartnerApp.
+	Tier string `pulumi:"tier"`
+	// The type of PartnerApp.
+	Type PartnerAppType `pulumi:"type"`
+}
+
+// The set of arguments for constructing a PartnerApp resource.
+type PartnerAppArgs struct {
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	ApplicationConfig PartnerAppConfigPtrInput
+	// The Auth type of PartnerApp.
+	AuthType PartnerAppAuthTypeInput
+	// The client token for the PartnerApp.
+	ClientToken pulumi.StringPtrInput
+	// Enables IAM Session based Identity for PartnerApp.
+	EnableIamSessionBasedIdentity pulumi.BoolPtrInput
+	// The execution role for the user.
+	ExecutionRoleArn pulumi.StringInput
+	// A collection of settings that specify the maintenance schedule for the PartnerApp.
+	MaintenanceConfig PartnerAppMaintenanceConfigPtrInput
+	// A name for the PartnerApp.
+	Name pulumi.StringPtrInput
+	// A list of tags to apply to the PartnerApp.
+	Tags aws.TagArrayInput
+	// The tier of the PartnerApp.
+	Tier pulumi.StringInput
+	// The type of PartnerApp.
+	Type PartnerAppTypeInput
+}
+
+func (PartnerAppArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*partnerAppArgs)(nil)).Elem()
+}
+
+type PartnerAppInput interface {
+	pulumi.Input
+
+	ToPartnerAppOutput() PartnerAppOutput
+	ToPartnerAppOutputWithContext(ctx context.Context) PartnerAppOutput
+}
+
+func (*PartnerApp) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerApp)(nil)).Elem()
+}
+
+func (i *PartnerApp) ToPartnerAppOutput() PartnerAppOutput {
+	return i.ToPartnerAppOutputWithContext(context.Background())
+}
+
+func (i *PartnerApp) ToPartnerAppOutputWithContext(ctx context.Context) PartnerAppOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppOutput)
+}
+
+type PartnerAppOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerApp)(nil)).Elem()
+}
+
+func (o PartnerAppOutput) ToPartnerAppOutput() PartnerAppOutput {
+	return o
+}
+
+func (o PartnerAppOutput) ToPartnerAppOutputWithContext(ctx context.Context) PartnerAppOutput {
+	return o
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+func (o PartnerAppOutput) ApplicationConfig() PartnerAppConfigPtrOutput {
+	return o.ApplyT(func(v *PartnerApp) PartnerAppConfigPtrOutput { return v.ApplicationConfig }).(PartnerAppConfigPtrOutput)
+}
+
+// The Amazon Resource Name (ARN) of the created PartnerApp.
+func (o PartnerAppOutput) Arn() pulumi.StringOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
+}
+
+// The Auth type of PartnerApp.
+func (o PartnerAppOutput) AuthType() PartnerAppAuthTypeOutput {
+	return o.ApplyT(func(v *PartnerApp) PartnerAppAuthTypeOutput { return v.AuthType }).(PartnerAppAuthTypeOutput)
+}
+
+// The AppServerUrl based on app and account-info.
+func (o PartnerAppOutput) BaseUrl() pulumi.StringOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.StringOutput { return v.BaseUrl }).(pulumi.StringOutput)
+}
+
+// The client token for the PartnerApp.
+func (o PartnerAppOutput) ClientToken() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.StringPtrOutput { return v.ClientToken }).(pulumi.StringPtrOutput)
+}
+
+// Enables IAM Session based Identity for PartnerApp.
+func (o PartnerAppOutput) EnableIamSessionBasedIdentity() pulumi.BoolPtrOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.BoolPtrOutput { return v.EnableIamSessionBasedIdentity }).(pulumi.BoolPtrOutput)
+}
+
+// The execution role for the user.
+func (o PartnerAppOutput) ExecutionRoleArn() pulumi.StringOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.StringOutput { return v.ExecutionRoleArn }).(pulumi.StringOutput)
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+func (o PartnerAppOutput) MaintenanceConfig() PartnerAppMaintenanceConfigPtrOutput {
+	return o.ApplyT(func(v *PartnerApp) PartnerAppMaintenanceConfigPtrOutput { return v.MaintenanceConfig }).(PartnerAppMaintenanceConfigPtrOutput)
+}
+
+// A name for the PartnerApp.
+func (o PartnerAppOutput) Name() pulumi.StringOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
+}
+
+// A list of tags to apply to the PartnerApp.
+func (o PartnerAppOutput) Tags() aws.TagArrayOutput {
+	return o.ApplyT(func(v *PartnerApp) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput)
+}
+
+// The tier of the PartnerApp.
+func (o PartnerAppOutput) Tier() pulumi.StringOutput {
+	return o.ApplyT(func(v *PartnerApp) pulumi.StringOutput { return v.Tier }).(pulumi.StringOutput)
+}
+
+// The type of PartnerApp.
+func (o PartnerAppOutput) Type() PartnerAppTypeOutput {
+	return o.ApplyT(func(v *PartnerApp) PartnerAppTypeOutput { return v.Type }).(PartnerAppTypeOutput)
+}
+
+func init() {
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppInput)(nil)).Elem(), &PartnerApp{})
+	pulumi.RegisterOutputType(PartnerAppOutput{})
+}
diff --git a/sdk/go/aws/sagemaker/pulumiEnums.go b/sdk/go/aws/sagemaker/pulumiEnums.go
index a417ef78c4..4d6d3a4f07 100644
--- a/sdk/go/aws/sagemaker/pulumiEnums.go
+++ b/sdk/go/aws/sagemaker/pulumiEnums.go
@@ -14275,6 +14275,340 @@ func (in *monitoringScheduleStatusPtr) ToMonitoringScheduleStatusPtrOutputWithCo
 	return pulumi.ToOutputWithContext(ctx, in).(MonitoringScheduleStatusPtrOutput)
 }
 
+// The Auth type of PartnerApp.
+type PartnerAppAuthType string
+
+const (
+	PartnerAppAuthTypeIam = PartnerAppAuthType("IAM")
+)
+
+func (PartnerAppAuthType) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppAuthType)(nil)).Elem()
+}
+
+func (e PartnerAppAuthType) ToPartnerAppAuthTypeOutput() PartnerAppAuthTypeOutput {
+	return pulumi.ToOutput(e).(PartnerAppAuthTypeOutput)
+}
+
+func (e PartnerAppAuthType) ToPartnerAppAuthTypeOutputWithContext(ctx context.Context) PartnerAppAuthTypeOutput {
+	return pulumi.ToOutputWithContext(ctx, e).(PartnerAppAuthTypeOutput)
+}
+
+func (e PartnerAppAuthType) ToPartnerAppAuthTypePtrOutput() PartnerAppAuthTypePtrOutput {
+	return e.ToPartnerAppAuthTypePtrOutputWithContext(context.Background())
+}
+
+func (e PartnerAppAuthType) ToPartnerAppAuthTypePtrOutputWithContext(ctx context.Context) PartnerAppAuthTypePtrOutput {
+	return PartnerAppAuthType(e).ToPartnerAppAuthTypeOutputWithContext(ctx).ToPartnerAppAuthTypePtrOutputWithContext(ctx)
+}
+
+func (e PartnerAppAuthType) ToStringOutput() pulumi.StringOutput {
+	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
+}
+
+func (e PartnerAppAuthType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
+	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
+}
+
+func (e PartnerAppAuthType) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
+}
+
+func (e PartnerAppAuthType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
+}
+
+type PartnerAppAuthTypeOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppAuthTypeOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppAuthType)(nil)).Elem()
+}
+
+func (o PartnerAppAuthTypeOutput) ToPartnerAppAuthTypeOutput() PartnerAppAuthTypeOutput {
+	return o
+}
+
+func (o PartnerAppAuthTypeOutput) ToPartnerAppAuthTypeOutputWithContext(ctx context.Context) PartnerAppAuthTypeOutput {
+	return o
+}
+
+func (o PartnerAppAuthTypeOutput) ToPartnerAppAuthTypePtrOutput() PartnerAppAuthTypePtrOutput {
+	return o.ToPartnerAppAuthTypePtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppAuthTypeOutput) ToPartnerAppAuthTypePtrOutputWithContext(ctx context.Context) PartnerAppAuthTypePtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v PartnerAppAuthType) *PartnerAppAuthType {
+		return &v
+	}).(PartnerAppAuthTypePtrOutput)
+}
+
+func (o PartnerAppAuthTypeOutput) ToStringOutput() pulumi.StringOutput {
+	return o.ToStringOutputWithContext(context.Background())
+}
+
+func (o PartnerAppAuthTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e PartnerAppAuthType) string {
+		return string(e)
+	}).(pulumi.StringOutput)
+}
+
+func (o PartnerAppAuthTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return o.ToStringPtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppAuthTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e PartnerAppAuthType) *string {
+		v := string(e)
+		return &v
+	}).(pulumi.StringPtrOutput)
+}
+
+type PartnerAppAuthTypePtrOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppAuthTypePtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerAppAuthType)(nil)).Elem()
+}
+
+func (o PartnerAppAuthTypePtrOutput) ToPartnerAppAuthTypePtrOutput() PartnerAppAuthTypePtrOutput {
+	return o
+}
+
+func (o PartnerAppAuthTypePtrOutput) ToPartnerAppAuthTypePtrOutputWithContext(ctx context.Context) PartnerAppAuthTypePtrOutput {
+	return o
+}
+
+func (o PartnerAppAuthTypePtrOutput) Elem() PartnerAppAuthTypeOutput {
+	return o.ApplyT(func(v *PartnerAppAuthType) PartnerAppAuthType {
+		if v != nil {
+			return *v
+		}
+		var ret PartnerAppAuthType
+		return ret
+	}).(PartnerAppAuthTypeOutput)
+}
+
+func (o PartnerAppAuthTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return o.ToStringPtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppAuthTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e *PartnerAppAuthType) *string {
+		if e == nil {
+			return nil
+		}
+		v := string(*e)
+		return &v
+	}).(pulumi.StringPtrOutput)
+}
+
+// PartnerAppAuthTypeInput is an input type that accepts values of the PartnerAppAuthType enum
+// A concrete instance of `PartnerAppAuthTypeInput` can be one of the following:
+//
+//	PartnerAppAuthTypeIam
+type PartnerAppAuthTypeInput interface {
+	pulumi.Input
+
+	ToPartnerAppAuthTypeOutput() PartnerAppAuthTypeOutput
+	ToPartnerAppAuthTypeOutputWithContext(context.Context) PartnerAppAuthTypeOutput
+}
+
+var partnerAppAuthTypePtrType = reflect.TypeOf((**PartnerAppAuthType)(nil)).Elem()
+
+type PartnerAppAuthTypePtrInput interface {
+	pulumi.Input
+
+	ToPartnerAppAuthTypePtrOutput() PartnerAppAuthTypePtrOutput
+	ToPartnerAppAuthTypePtrOutputWithContext(context.Context) PartnerAppAuthTypePtrOutput
+}
+
+type partnerAppAuthTypePtr string
+
+func PartnerAppAuthTypePtr(v string) PartnerAppAuthTypePtrInput {
+	return (*partnerAppAuthTypePtr)(&v)
+}
+
+func (*partnerAppAuthTypePtr) ElementType() reflect.Type {
+	return partnerAppAuthTypePtrType
+}
+
+func (in *partnerAppAuthTypePtr) ToPartnerAppAuthTypePtrOutput() PartnerAppAuthTypePtrOutput {
+	return pulumi.ToOutput(in).(PartnerAppAuthTypePtrOutput)
+}
+
+func (in *partnerAppAuthTypePtr) ToPartnerAppAuthTypePtrOutputWithContext(ctx context.Context) PartnerAppAuthTypePtrOutput {
+	return pulumi.ToOutputWithContext(ctx, in).(PartnerAppAuthTypePtrOutput)
+}
+
+// The type of PartnerApp.
+type PartnerAppType string
+
+const (
+	PartnerAppTypeLakeraGuard             = PartnerAppType("lakera-guard")
+	PartnerAppTypeComet                   = PartnerAppType("comet")
+	PartnerAppTypeDeepchecksLlmEvaluation = PartnerAppType("deepchecks-llm-evaluation")
+	PartnerAppTypeFiddler                 = PartnerAppType("fiddler")
+)
+
+func (PartnerAppType) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppType)(nil)).Elem()
+}
+
+func (e PartnerAppType) ToPartnerAppTypeOutput() PartnerAppTypeOutput {
+	return pulumi.ToOutput(e).(PartnerAppTypeOutput)
+}
+
+func (e PartnerAppType) ToPartnerAppTypeOutputWithContext(ctx context.Context) PartnerAppTypeOutput {
+	return pulumi.ToOutputWithContext(ctx, e).(PartnerAppTypeOutput)
+}
+
+func (e PartnerAppType) ToPartnerAppTypePtrOutput() PartnerAppTypePtrOutput {
+	return e.ToPartnerAppTypePtrOutputWithContext(context.Background())
+}
+
+func (e PartnerAppType) ToPartnerAppTypePtrOutputWithContext(ctx context.Context) PartnerAppTypePtrOutput {
+	return PartnerAppType(e).ToPartnerAppTypeOutputWithContext(ctx).ToPartnerAppTypePtrOutputWithContext(ctx)
+}
+
+func (e PartnerAppType) ToStringOutput() pulumi.StringOutput {
+	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
+}
+
+func (e PartnerAppType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
+	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
+}
+
+func (e PartnerAppType) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
+}
+
+func (e PartnerAppType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
+}
+
+type PartnerAppTypeOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppTypeOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppType)(nil)).Elem()
+}
+
+func (o PartnerAppTypeOutput) ToPartnerAppTypeOutput() PartnerAppTypeOutput {
+	return o
+}
+
+func (o PartnerAppTypeOutput) ToPartnerAppTypeOutputWithContext(ctx context.Context) PartnerAppTypeOutput {
+	return o
+}
+
+func (o PartnerAppTypeOutput) ToPartnerAppTypePtrOutput() PartnerAppTypePtrOutput {
+	return o.ToPartnerAppTypePtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppTypeOutput) ToPartnerAppTypePtrOutputWithContext(ctx context.Context) PartnerAppTypePtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v PartnerAppType) *PartnerAppType {
+		return &v
+	}).(PartnerAppTypePtrOutput)
+}
+
+func (o PartnerAppTypeOutput) ToStringOutput() pulumi.StringOutput {
+	return o.ToStringOutputWithContext(context.Background())
+}
+
+func (o PartnerAppTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e PartnerAppType) string {
+		return string(e)
+	}).(pulumi.StringOutput)
+}
+
+func (o PartnerAppTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return o.ToStringPtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e PartnerAppType) *string {
+		v := string(e)
+		return &v
+	}).(pulumi.StringPtrOutput)
+}
+
+type PartnerAppTypePtrOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppTypePtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerAppType)(nil)).Elem()
+}
+
+func (o PartnerAppTypePtrOutput) ToPartnerAppTypePtrOutput() PartnerAppTypePtrOutput {
+	return o
+}
+
+func (o PartnerAppTypePtrOutput) ToPartnerAppTypePtrOutputWithContext(ctx context.Context) PartnerAppTypePtrOutput {
+	return o
+}
+
+func (o PartnerAppTypePtrOutput) Elem() PartnerAppTypeOutput {
+	return o.ApplyT(func(v *PartnerAppType) PartnerAppType {
+		if v != nil {
+			return *v
+		}
+		var ret PartnerAppType
+		return ret
+	}).(PartnerAppTypeOutput)
+}
+
+func (o PartnerAppTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
+	return o.ToStringPtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, e *PartnerAppType) *string {
+		if e == nil {
+			return nil
+		}
+		v := string(*e)
+		return &v
+	}).(pulumi.StringPtrOutput)
+}
+
+// PartnerAppTypeInput is an input type that accepts values of the PartnerAppType enum
+// A concrete instance of `PartnerAppTypeInput` can be one of the following:
+//
+//	PartnerAppTypeLakeraGuard
+//	PartnerAppTypeComet
+//	PartnerAppTypeDeepchecksLlmEvaluation
+//	PartnerAppTypeFiddler
+type PartnerAppTypeInput interface {
+	pulumi.Input
+
+	ToPartnerAppTypeOutput() PartnerAppTypeOutput
+	ToPartnerAppTypeOutputWithContext(context.Context) PartnerAppTypeOutput
+}
+
+var partnerAppTypePtrType = reflect.TypeOf((**PartnerAppType)(nil)).Elem()
+
+type PartnerAppTypePtrInput interface {
+	pulumi.Input
+
+	ToPartnerAppTypePtrOutput() PartnerAppTypePtrOutput
+	ToPartnerAppTypePtrOutputWithContext(context.Context) PartnerAppTypePtrOutput
+}
+
+type partnerAppTypePtr string
+
+func PartnerAppTypePtr(v string) PartnerAppTypePtrInput {
+	return (*partnerAppTypePtr)(&v)
+}
+
+func (*partnerAppTypePtr) ElementType() reflect.Type {
+	return partnerAppTypePtrType
+}
+
+func (in *partnerAppTypePtr) ToPartnerAppTypePtrOutput() PartnerAppTypePtrOutput {
+	return pulumi.ToOutput(in).(PartnerAppTypePtrOutput)
+}
+
+func (in *partnerAppTypePtr) ToPartnerAppTypePtrOutputWithContext(ctx context.Context) PartnerAppTypePtrOutput {
+	return pulumi.ToOutputWithContext(ctx, in).(PartnerAppTypePtrOutput)
+}
+
 // The status of a project.
 type ProjectStatus string
 
@@ -16914,6 +17248,10 @@ func init() {
 	pulumi.RegisterInputType(reflect.TypeOf((*MonitoringScheduleS3OutputS3UploadModePtrInput)(nil)).Elem(), MonitoringScheduleS3OutputS3UploadMode("Continuous"))
 	pulumi.RegisterInputType(reflect.TypeOf((*MonitoringScheduleStatusInput)(nil)).Elem(), MonitoringScheduleStatus("Pending"))
 	pulumi.RegisterInputType(reflect.TypeOf((*MonitoringScheduleStatusPtrInput)(nil)).Elem(), MonitoringScheduleStatus("Pending"))
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppAuthTypeInput)(nil)).Elem(), PartnerAppAuthType("IAM"))
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppAuthTypePtrInput)(nil)).Elem(), PartnerAppAuthType("IAM"))
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppTypeInput)(nil)).Elem(), PartnerAppType("lakera-guard"))
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppTypePtrInput)(nil)).Elem(), PartnerAppType("lakera-guard"))
 	pulumi.RegisterInputType(reflect.TypeOf((*SpaceAppTypeInput)(nil)).Elem(), SpaceAppType("JupyterServer"))
 	pulumi.RegisterInputType(reflect.TypeOf((*SpaceAppTypePtrInput)(nil)).Elem(), SpaceAppType("JupyterServer"))
 	pulumi.RegisterInputType(reflect.TypeOf((*SpaceResourceSpecInstanceTypeInput)(nil)).Elem(), SpaceResourceSpecInstanceType("system"))
@@ -17115,6 +17453,10 @@ func init() {
 	pulumi.RegisterOutputType(MonitoringScheduleS3OutputS3UploadModePtrOutput{})
 	pulumi.RegisterOutputType(MonitoringScheduleStatusOutput{})
 	pulumi.RegisterOutputType(MonitoringScheduleStatusPtrOutput{})
+	pulumi.RegisterOutputType(PartnerAppAuthTypeOutput{})
+	pulumi.RegisterOutputType(PartnerAppAuthTypePtrOutput{})
+	pulumi.RegisterOutputType(PartnerAppTypeOutput{})
+	pulumi.RegisterOutputType(PartnerAppTypePtrOutput{})
 	pulumi.RegisterOutputType(ProjectStatusOutput{})
 	pulumi.RegisterOutputType(ProjectStatusPtrOutput{})
 	pulumi.RegisterOutputType(SpaceAppTypeOutput{})
diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go
index 18e9cd75cc..6fb093a1b0 100644
--- a/sdk/go/aws/sagemaker/pulumiTypes.go
+++ b/sdk/go/aws/sagemaker/pulumiTypes.go
@@ -34149,6 +34149,310 @@ func (o ParallelismConfigurationPropertiesPtrOutput) MaxParallelExecutionSteps()
 	}).(pulumi.IntPtrOutput)
 }
 
+// A collection of configuration settings for the PartnerApp.
+type PartnerAppConfig struct {
+	// A list of users with administrator privileges for the PartnerApp.
+	AdminUsers []string `pulumi:"adminUsers"`
+	// A list of arguments to pass to the PartnerApp.
+	Arguments map[string]string `pulumi:"arguments"`
+}
+
+// PartnerAppConfigInput is an input type that accepts PartnerAppConfigArgs and PartnerAppConfigOutput values.
+// You can construct a concrete instance of `PartnerAppConfigInput` via:
+//
+//	PartnerAppConfigArgs{...}
+type PartnerAppConfigInput interface {
+	pulumi.Input
+
+	ToPartnerAppConfigOutput() PartnerAppConfigOutput
+	ToPartnerAppConfigOutputWithContext(context.Context) PartnerAppConfigOutput
+}
+
+// A collection of configuration settings for the PartnerApp.
+type PartnerAppConfigArgs struct {
+	// A list of users with administrator privileges for the PartnerApp.
+	AdminUsers pulumi.StringArrayInput `pulumi:"adminUsers"`
+	// A list of arguments to pass to the PartnerApp.
+	Arguments pulumi.StringMapInput `pulumi:"arguments"`
+}
+
+func (PartnerAppConfigArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppConfig)(nil)).Elem()
+}
+
+func (i PartnerAppConfigArgs) ToPartnerAppConfigOutput() PartnerAppConfigOutput {
+	return i.ToPartnerAppConfigOutputWithContext(context.Background())
+}
+
+func (i PartnerAppConfigArgs) ToPartnerAppConfigOutputWithContext(ctx context.Context) PartnerAppConfigOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppConfigOutput)
+}
+
+func (i PartnerAppConfigArgs) ToPartnerAppConfigPtrOutput() PartnerAppConfigPtrOutput {
+	return i.ToPartnerAppConfigPtrOutputWithContext(context.Background())
+}
+
+func (i PartnerAppConfigArgs) ToPartnerAppConfigPtrOutputWithContext(ctx context.Context) PartnerAppConfigPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppConfigOutput).ToPartnerAppConfigPtrOutputWithContext(ctx)
+}
+
+// PartnerAppConfigPtrInput is an input type that accepts PartnerAppConfigArgs, PartnerAppConfigPtr and PartnerAppConfigPtrOutput values.
+// You can construct a concrete instance of `PartnerAppConfigPtrInput` via:
+//
+//	        PartnerAppConfigArgs{...}
+//
+//	or:
+//
+//	        nil
+type PartnerAppConfigPtrInput interface {
+	pulumi.Input
+
+	ToPartnerAppConfigPtrOutput() PartnerAppConfigPtrOutput
+	ToPartnerAppConfigPtrOutputWithContext(context.Context) PartnerAppConfigPtrOutput
+}
+
+type partnerAppConfigPtrType PartnerAppConfigArgs
+
+func PartnerAppConfigPtr(v *PartnerAppConfigArgs) PartnerAppConfigPtrInput {
+	return (*partnerAppConfigPtrType)(v)
+}
+
+func (*partnerAppConfigPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerAppConfig)(nil)).Elem()
+}
+
+func (i *partnerAppConfigPtrType) ToPartnerAppConfigPtrOutput() PartnerAppConfigPtrOutput {
+	return i.ToPartnerAppConfigPtrOutputWithContext(context.Background())
+}
+
+func (i *partnerAppConfigPtrType) ToPartnerAppConfigPtrOutputWithContext(ctx context.Context) PartnerAppConfigPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppConfigPtrOutput)
+}
+
+// A collection of configuration settings for the PartnerApp.
+type PartnerAppConfigOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppConfigOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppConfig)(nil)).Elem()
+}
+
+func (o PartnerAppConfigOutput) ToPartnerAppConfigOutput() PartnerAppConfigOutput {
+	return o
+}
+
+func (o PartnerAppConfigOutput) ToPartnerAppConfigOutputWithContext(ctx context.Context) PartnerAppConfigOutput {
+	return o
+}
+
+func (o PartnerAppConfigOutput) ToPartnerAppConfigPtrOutput() PartnerAppConfigPtrOutput {
+	return o.ToPartnerAppConfigPtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppConfigOutput) ToPartnerAppConfigPtrOutputWithContext(ctx context.Context) PartnerAppConfigPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v PartnerAppConfig) *PartnerAppConfig {
+		return &v
+	}).(PartnerAppConfigPtrOutput)
+}
+
+// A list of users with administrator privileges for the PartnerApp.
+func (o PartnerAppConfigOutput) AdminUsers() pulumi.StringArrayOutput {
+	return o.ApplyT(func(v PartnerAppConfig) []string { return v.AdminUsers }).(pulumi.StringArrayOutput)
+}
+
+// A list of arguments to pass to the PartnerApp.
+func (o PartnerAppConfigOutput) Arguments() pulumi.StringMapOutput {
+	return o.ApplyT(func(v PartnerAppConfig) map[string]string { return v.Arguments }).(pulumi.StringMapOutput)
+}
+
+type PartnerAppConfigPtrOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppConfigPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerAppConfig)(nil)).Elem()
+}
+
+func (o PartnerAppConfigPtrOutput) ToPartnerAppConfigPtrOutput() PartnerAppConfigPtrOutput {
+	return o
+}
+
+func (o PartnerAppConfigPtrOutput) ToPartnerAppConfigPtrOutputWithContext(ctx context.Context) PartnerAppConfigPtrOutput {
+	return o
+}
+
+func (o PartnerAppConfigPtrOutput) Elem() PartnerAppConfigOutput {
+	return o.ApplyT(func(v *PartnerAppConfig) PartnerAppConfig {
+		if v != nil {
+			return *v
+		}
+		var ret PartnerAppConfig
+		return ret
+	}).(PartnerAppConfigOutput)
+}
+
+// A list of users with administrator privileges for the PartnerApp.
+func (o PartnerAppConfigPtrOutput) AdminUsers() pulumi.StringArrayOutput {
+	return o.ApplyT(func(v *PartnerAppConfig) []string {
+		if v == nil {
+			return nil
+		}
+		return v.AdminUsers
+	}).(pulumi.StringArrayOutput)
+}
+
+// A list of arguments to pass to the PartnerApp.
+func (o PartnerAppConfigPtrOutput) Arguments() pulumi.StringMapOutput {
+	return o.ApplyT(func(v *PartnerAppConfig) map[string]string {
+		if v == nil {
+			return nil
+		}
+		return v.Arguments
+	}).(pulumi.StringMapOutput)
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+type PartnerAppMaintenanceConfig struct {
+	// The maintenance window start day and time for the PartnerApp.
+	MaintenanceWindowStart string `pulumi:"maintenanceWindowStart"`
+}
+
+// PartnerAppMaintenanceConfigInput is an input type that accepts PartnerAppMaintenanceConfigArgs and PartnerAppMaintenanceConfigOutput values.
+// You can construct a concrete instance of `PartnerAppMaintenanceConfigInput` via:
+//
+//	PartnerAppMaintenanceConfigArgs{...}
+type PartnerAppMaintenanceConfigInput interface {
+	pulumi.Input
+
+	ToPartnerAppMaintenanceConfigOutput() PartnerAppMaintenanceConfigOutput
+	ToPartnerAppMaintenanceConfigOutputWithContext(context.Context) PartnerAppMaintenanceConfigOutput
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+type PartnerAppMaintenanceConfigArgs struct {
+	// The maintenance window start day and time for the PartnerApp.
+	MaintenanceWindowStart pulumi.StringInput `pulumi:"maintenanceWindowStart"`
+}
+
+func (PartnerAppMaintenanceConfigArgs) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppMaintenanceConfig)(nil)).Elem()
+}
+
+func (i PartnerAppMaintenanceConfigArgs) ToPartnerAppMaintenanceConfigOutput() PartnerAppMaintenanceConfigOutput {
+	return i.ToPartnerAppMaintenanceConfigOutputWithContext(context.Background())
+}
+
+func (i PartnerAppMaintenanceConfigArgs) ToPartnerAppMaintenanceConfigOutputWithContext(ctx context.Context) PartnerAppMaintenanceConfigOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppMaintenanceConfigOutput)
+}
+
+func (i PartnerAppMaintenanceConfigArgs) ToPartnerAppMaintenanceConfigPtrOutput() PartnerAppMaintenanceConfigPtrOutput {
+	return i.ToPartnerAppMaintenanceConfigPtrOutputWithContext(context.Background())
+}
+
+func (i PartnerAppMaintenanceConfigArgs) ToPartnerAppMaintenanceConfigPtrOutputWithContext(ctx context.Context) PartnerAppMaintenanceConfigPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppMaintenanceConfigOutput).ToPartnerAppMaintenanceConfigPtrOutputWithContext(ctx)
+}
+
+// PartnerAppMaintenanceConfigPtrInput is an input type that accepts PartnerAppMaintenanceConfigArgs, PartnerAppMaintenanceConfigPtr and PartnerAppMaintenanceConfigPtrOutput values.
+// You can construct a concrete instance of `PartnerAppMaintenanceConfigPtrInput` via:
+//
+//	        PartnerAppMaintenanceConfigArgs{...}
+//
+//	or:
+//
+//	        nil
+type PartnerAppMaintenanceConfigPtrInput interface {
+	pulumi.Input
+
+	ToPartnerAppMaintenanceConfigPtrOutput() PartnerAppMaintenanceConfigPtrOutput
+	ToPartnerAppMaintenanceConfigPtrOutputWithContext(context.Context) PartnerAppMaintenanceConfigPtrOutput
+}
+
+type partnerAppMaintenanceConfigPtrType PartnerAppMaintenanceConfigArgs
+
+func PartnerAppMaintenanceConfigPtr(v *PartnerAppMaintenanceConfigArgs) PartnerAppMaintenanceConfigPtrInput {
+	return (*partnerAppMaintenanceConfigPtrType)(v)
+}
+
+func (*partnerAppMaintenanceConfigPtrType) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerAppMaintenanceConfig)(nil)).Elem()
+}
+
+func (i *partnerAppMaintenanceConfigPtrType) ToPartnerAppMaintenanceConfigPtrOutput() PartnerAppMaintenanceConfigPtrOutput {
+	return i.ToPartnerAppMaintenanceConfigPtrOutputWithContext(context.Background())
+}
+
+func (i *partnerAppMaintenanceConfigPtrType) ToPartnerAppMaintenanceConfigPtrOutputWithContext(ctx context.Context) PartnerAppMaintenanceConfigPtrOutput {
+	return pulumi.ToOutputWithContext(ctx, i).(PartnerAppMaintenanceConfigPtrOutput)
+}
+
+// A collection of settings that specify the maintenance schedule for the PartnerApp.
+type PartnerAppMaintenanceConfigOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppMaintenanceConfigOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((*PartnerAppMaintenanceConfig)(nil)).Elem()
+}
+
+func (o PartnerAppMaintenanceConfigOutput) ToPartnerAppMaintenanceConfigOutput() PartnerAppMaintenanceConfigOutput {
+	return o
+}
+
+func (o PartnerAppMaintenanceConfigOutput) ToPartnerAppMaintenanceConfigOutputWithContext(ctx context.Context) PartnerAppMaintenanceConfigOutput {
+	return o
+}
+
+func (o PartnerAppMaintenanceConfigOutput) ToPartnerAppMaintenanceConfigPtrOutput() PartnerAppMaintenanceConfigPtrOutput {
+	return o.ToPartnerAppMaintenanceConfigPtrOutputWithContext(context.Background())
+}
+
+func (o PartnerAppMaintenanceConfigOutput) ToPartnerAppMaintenanceConfigPtrOutputWithContext(ctx context.Context) PartnerAppMaintenanceConfigPtrOutput {
+	return o.ApplyTWithContext(ctx, func(_ context.Context, v PartnerAppMaintenanceConfig) *PartnerAppMaintenanceConfig {
+		return &v
+	}).(PartnerAppMaintenanceConfigPtrOutput)
+}
+
+// The maintenance window start day and time for the PartnerApp.
+func (o PartnerAppMaintenanceConfigOutput) MaintenanceWindowStart() pulumi.StringOutput {
+	return o.ApplyT(func(v PartnerAppMaintenanceConfig) string { return v.MaintenanceWindowStart }).(pulumi.StringOutput)
+}
+
+type PartnerAppMaintenanceConfigPtrOutput struct{ *pulumi.OutputState }
+
+func (PartnerAppMaintenanceConfigPtrOutput) ElementType() reflect.Type {
+	return reflect.TypeOf((**PartnerAppMaintenanceConfig)(nil)).Elem()
+}
+
+func (o PartnerAppMaintenanceConfigPtrOutput) ToPartnerAppMaintenanceConfigPtrOutput() PartnerAppMaintenanceConfigPtrOutput {
+	return o
+}
+
+func (o PartnerAppMaintenanceConfigPtrOutput) ToPartnerAppMaintenanceConfigPtrOutputWithContext(ctx context.Context) PartnerAppMaintenanceConfigPtrOutput {
+	return o
+}
+
+func (o PartnerAppMaintenanceConfigPtrOutput) Elem() PartnerAppMaintenanceConfigOutput {
+	return o.ApplyT(func(v *PartnerAppMaintenanceConfig) PartnerAppMaintenanceConfig {
+		if v != nil {
+			return *v
+		}
+		var ret PartnerAppMaintenanceConfig
+		return ret
+	}).(PartnerAppMaintenanceConfigOutput)
+}
+
+// The maintenance window start day and time for the PartnerApp.
+func (o PartnerAppMaintenanceConfigPtrOutput) MaintenanceWindowStart() pulumi.StringPtrOutput {
+	return o.ApplyT(func(v *PartnerAppMaintenanceConfig) *string {
+		if v == nil {
+			return nil
+		}
+		return &v.MaintenanceWindowStart
+	}).(pulumi.StringPtrOutput)
+}
+
+type PartnerAppTag struct {
+	Key   string `pulumi:"key"`
+	Value string `pulumi:"value"`
+}
+
 // The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.
 type PipelineDefinition0Properties struct {
 	// A specification that defines the pipeline in JSON format.
@@ -40816,6 +41120,10 @@ func init() {
 	pulumi.RegisterInputType(reflect.TypeOf((*OnlineStoreConfigPropertiesPtrInput)(nil)).Elem(), OnlineStoreConfigPropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*ParallelismConfigurationPropertiesInput)(nil)).Elem(), ParallelismConfigurationPropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*ParallelismConfigurationPropertiesPtrInput)(nil)).Elem(), ParallelismConfigurationPropertiesArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppConfigInput)(nil)).Elem(), PartnerAppConfigArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppConfigPtrInput)(nil)).Elem(), PartnerAppConfigArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppMaintenanceConfigInput)(nil)).Elem(), PartnerAppMaintenanceConfigArgs{})
+	pulumi.RegisterInputType(reflect.TypeOf((*PartnerAppMaintenanceConfigPtrInput)(nil)).Elem(), PartnerAppMaintenanceConfigArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*PipelineDefinition0PropertiesInput)(nil)).Elem(), PipelineDefinition0PropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*PipelineDefinition1PropertiesInput)(nil)).Elem(), PipelineDefinition1PropertiesArgs{})
 	pulumi.RegisterInputType(reflect.TypeOf((*PipelineS3LocationInput)(nil)).Elem(), PipelineS3LocationArgs{})
@@ -41304,6 +41612,10 @@ func init() {
 	pulumi.RegisterOutputType(OnlineStoreConfigPropertiesPtrOutput{})
 	pulumi.RegisterOutputType(ParallelismConfigurationPropertiesOutput{})
 	pulumi.RegisterOutputType(ParallelismConfigurationPropertiesPtrOutput{})
+	pulumi.RegisterOutputType(PartnerAppConfigOutput{})
+	pulumi.RegisterOutputType(PartnerAppConfigPtrOutput{})
+	pulumi.RegisterOutputType(PartnerAppMaintenanceConfigOutput{})
+	pulumi.RegisterOutputType(PartnerAppMaintenanceConfigPtrOutput{})
 	pulumi.RegisterOutputType(PipelineDefinition0PropertiesOutput{})
 	pulumi.RegisterOutputType(PipelineDefinition0PropertiesPtrOutput{})
 	pulumi.RegisterOutputType(PipelineDefinition1PropertiesOutput{})
diff --git a/sdk/go/aws/stepfunctions/getStateMachineVersion.go b/sdk/go/aws/stepfunctions/getStateMachineVersion.go
index b4f1f72197..95ee4aa6e8 100644
--- a/sdk/go/aws/stepfunctions/getStateMachineVersion.go
+++ b/sdk/go/aws/stepfunctions/getStateMachineVersion.go
@@ -30,8 +30,6 @@ type LookupStateMachineVersionArgs struct {
 type LookupStateMachineVersionResult struct {
 	// Returns the ARN of the state machine version. For example, `arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1` .
 	Arn *string `pulumi:"arn"`
-	// An optional description of the state machine version.
-	Description *string `pulumi:"description"`
 }
 
 func LookupStateMachineVersionOutput(ctx *pulumi.Context, args LookupStateMachineVersionOutputArgs, opts ...pulumi.InvokeOption) LookupStateMachineVersionResultOutput {
@@ -81,11 +79,6 @@ func (o LookupStateMachineVersionResultOutput) Arn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupStateMachineVersionResult) *string { return v.Arn }).(pulumi.StringPtrOutput)
 }
 
-// An optional description of the state machine version.
-func (o LookupStateMachineVersionResultOutput) Description() pulumi.StringPtrOutput {
-	return o.ApplyT(func(v LookupStateMachineVersionResult) *string { return v.Description }).(pulumi.StringPtrOutput)
-}
-
 func init() {
 	pulumi.RegisterOutputType(LookupStateMachineVersionResultOutput{})
 }
diff --git a/sdk/go/aws/stepfunctions/stateMachineVersion.go b/sdk/go/aws/stepfunctions/stateMachineVersion.go
index e1d74a5941..e14b3a31b9 100644
--- a/sdk/go/aws/stepfunctions/stateMachineVersion.go
+++ b/sdk/go/aws/stepfunctions/stateMachineVersion.go
@@ -41,6 +41,7 @@ func NewStateMachineVersion(ctx *pulumi.Context,
 		return nil, errors.New("invalid value for required argument 'StateMachineArn'")
 	}
 	replaceOnChanges := pulumi.ReplaceOnChanges([]string{
+		"description",
 		"stateMachineArn",
 		"stateMachineRevisionId",
 	})
diff --git a/sdk/go/aws/wisdom/aiGuardrail.go b/sdk/go/aws/wisdom/aiGuardrail.go
index 4024d058f0..fd5df944fa 100644
--- a/sdk/go/aws/wisdom/aiGuardrail.go
+++ b/sdk/go/aws/wisdom/aiGuardrail.go
@@ -16,23 +16,34 @@ import (
 type AiGuardrail struct {
 	pulumi.CustomResourceState
 
+	// The Amazon Resource Name (ARN) of the AI Guardrail.
 	AiGuardrailArn pulumi.StringOutput `pulumi:"aiGuardrailArn"`
-	AiGuardrailId  pulumi.StringOutput `pulumi:"aiGuardrailId"`
-	AssistantArn   pulumi.StringOutput `pulumi:"assistantArn"`
-	AssistantId    pulumi.StringOutput `pulumi:"assistantId"`
+	// The identifier of the Amazon Q in Connect AI Guardrail.
+	AiGuardrailId pulumi.StringOutput `pulumi:"aiGuardrailId"`
+	// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+	AssistantArn pulumi.StringOutput `pulumi:"assistantArn"`
+	// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+	AssistantId pulumi.StringOutput `pulumi:"assistantId"`
 	// Messaging for when violations are detected in text
 	BlockedInputMessaging pulumi.StringOutput `pulumi:"blockedInputMessaging"`
 	// Messaging for when violations are detected in text
-	BlockedOutputsMessaging         pulumi.StringOutput                                            `pulumi:"blockedOutputsMessaging"`
-	ContentPolicyConfig             AiGuardrailAiGuardrailContentPolicyConfigPtrOutput             `pulumi:"contentPolicyConfig"`
+	BlockedOutputsMessaging pulumi.StringOutput `pulumi:"blockedOutputsMessaging"`
+	// Contains details about how to handle harmful content.
+	ContentPolicyConfig AiGuardrailAiGuardrailContentPolicyConfigPtrOutput `pulumi:"contentPolicyConfig"`
+	// The policy configuration details for the AI Guardrail's contextual grounding policy.
 	ContextualGroundingPolicyConfig AiGuardrailAiGuardrailContextualGroundingPolicyConfigPtrOutput `pulumi:"contextualGroundingPolicyConfig"`
 	// Description of the guardrail or its version
-	Description                      pulumi.StringPtrOutput                                          `pulumi:"description"`
-	Name                             pulumi.StringPtrOutput                                          `pulumi:"name"`
+	Description pulumi.StringPtrOutput `pulumi:"description"`
+	// The name of the AI Guardrail.
+	Name pulumi.StringPtrOutput `pulumi:"name"`
+	// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
 	SensitiveInformationPolicyConfig AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrOutput `pulumi:"sensitiveInformationPolicyConfig"`
-	Tags                             pulumi.StringMapOutput                                          `pulumi:"tags"`
-	TopicPolicyConfig                AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput                `pulumi:"topicPolicyConfig"`
-	WordPolicyConfig                 AiGuardrailAiGuardrailWordPolicyConfigPtrOutput                 `pulumi:"wordPolicyConfig"`
+	// The tags used to organize, track, or control access for this resource.
+	Tags pulumi.StringMapOutput `pulumi:"tags"`
+	// Contains details about topics that the AI Guardrail should identify and deny.
+	TopicPolicyConfig AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput `pulumi:"topicPolicyConfig"`
+	// Contains details about the word policy to configured for the AI Guardrail.
+	WordPolicyConfig AiGuardrailAiGuardrailWordPolicyConfigPtrOutput `pulumi:"wordPolicyConfig"`
 }
 
 // NewAiGuardrail registers a new resource with the given unique name, arguments, and options.
@@ -90,38 +101,54 @@ func (AiGuardrailState) ElementType() reflect.Type {
 }
 
 type aiGuardrailArgs struct {
+	// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
 	AssistantId string `pulumi:"assistantId"`
 	// Messaging for when violations are detected in text
 	BlockedInputMessaging string `pulumi:"blockedInputMessaging"`
 	// Messaging for when violations are detected in text
-	BlockedOutputsMessaging         string                                                 `pulumi:"blockedOutputsMessaging"`
-	ContentPolicyConfig             *AiGuardrailAiGuardrailContentPolicyConfig             `pulumi:"contentPolicyConfig"`
+	BlockedOutputsMessaging string `pulumi:"blockedOutputsMessaging"`
+	// Contains details about how to handle harmful content.
+	ContentPolicyConfig *AiGuardrailAiGuardrailContentPolicyConfig `pulumi:"contentPolicyConfig"`
+	// The policy configuration details for the AI Guardrail's contextual grounding policy.
 	ContextualGroundingPolicyConfig *AiGuardrailAiGuardrailContextualGroundingPolicyConfig `pulumi:"contextualGroundingPolicyConfig"`
 	// Description of the guardrail or its version
-	Description                      *string                                                 `pulumi:"description"`
-	Name                             *string                                                 `pulumi:"name"`
+	Description *string `pulumi:"description"`
+	// The name of the AI Guardrail.
+	Name *string `pulumi:"name"`
+	// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
 	SensitiveInformationPolicyConfig *AiGuardrailAiGuardrailSensitiveInformationPolicyConfig `pulumi:"sensitiveInformationPolicyConfig"`
-	Tags                             map[string]string                                       `pulumi:"tags"`
-	TopicPolicyConfig                *AiGuardrailAiGuardrailTopicPolicyConfig                `pulumi:"topicPolicyConfig"`
-	WordPolicyConfig                 *AiGuardrailAiGuardrailWordPolicyConfig                 `pulumi:"wordPolicyConfig"`
+	// The tags used to organize, track, or control access for this resource.
+	Tags map[string]string `pulumi:"tags"`
+	// Contains details about topics that the AI Guardrail should identify and deny.
+	TopicPolicyConfig *AiGuardrailAiGuardrailTopicPolicyConfig `pulumi:"topicPolicyConfig"`
+	// Contains details about the word policy to configured for the AI Guardrail.
+	WordPolicyConfig *AiGuardrailAiGuardrailWordPolicyConfig `pulumi:"wordPolicyConfig"`
 }
 
 // The set of arguments for constructing a AiGuardrail resource.
 type AiGuardrailArgs struct {
+	// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
 	AssistantId pulumi.StringInput
 	// Messaging for when violations are detected in text
 	BlockedInputMessaging pulumi.StringInput
 	// Messaging for when violations are detected in text
-	BlockedOutputsMessaging         pulumi.StringInput
-	ContentPolicyConfig             AiGuardrailAiGuardrailContentPolicyConfigPtrInput
+	BlockedOutputsMessaging pulumi.StringInput
+	// Contains details about how to handle harmful content.
+	ContentPolicyConfig AiGuardrailAiGuardrailContentPolicyConfigPtrInput
+	// The policy configuration details for the AI Guardrail's contextual grounding policy.
 	ContextualGroundingPolicyConfig AiGuardrailAiGuardrailContextualGroundingPolicyConfigPtrInput
 	// Description of the guardrail or its version
-	Description                      pulumi.StringPtrInput
-	Name                             pulumi.StringPtrInput
+	Description pulumi.StringPtrInput
+	// The name of the AI Guardrail.
+	Name pulumi.StringPtrInput
+	// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
 	SensitiveInformationPolicyConfig AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrInput
-	Tags                             pulumi.StringMapInput
-	TopicPolicyConfig                AiGuardrailAiGuardrailTopicPolicyConfigPtrInput
-	WordPolicyConfig                 AiGuardrailAiGuardrailWordPolicyConfigPtrInput
+	// The tags used to organize, track, or control access for this resource.
+	Tags pulumi.StringMapInput
+	// Contains details about topics that the AI Guardrail should identify and deny.
+	TopicPolicyConfig AiGuardrailAiGuardrailTopicPolicyConfigPtrInput
+	// Contains details about the word policy to configured for the AI Guardrail.
+	WordPolicyConfig AiGuardrailAiGuardrailWordPolicyConfigPtrInput
 }
 
 func (AiGuardrailArgs) ElementType() reflect.Type {
@@ -161,18 +188,22 @@ func (o AiGuardrailOutput) ToAiGuardrailOutputWithContext(ctx context.Context) A
 	return o
 }
 
+// The Amazon Resource Name (ARN) of the AI Guardrail.
 func (o AiGuardrailOutput) AiGuardrailArn() pulumi.StringOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringOutput { return v.AiGuardrailArn }).(pulumi.StringOutput)
 }
 
+// The identifier of the Amazon Q in Connect AI Guardrail.
 func (o AiGuardrailOutput) AiGuardrailId() pulumi.StringOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringOutput { return v.AiGuardrailId }).(pulumi.StringOutput)
 }
 
+// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
 func (o AiGuardrailOutput) AssistantArn() pulumi.StringOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringOutput { return v.AssistantArn }).(pulumi.StringOutput)
 }
 
+// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
 func (o AiGuardrailOutput) AssistantId() pulumi.StringOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringOutput { return v.AssistantId }).(pulumi.StringOutput)
 }
@@ -187,10 +218,12 @@ func (o AiGuardrailOutput) BlockedOutputsMessaging() pulumi.StringOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringOutput { return v.BlockedOutputsMessaging }).(pulumi.StringOutput)
 }
 
+// Contains details about how to handle harmful content.
 func (o AiGuardrailOutput) ContentPolicyConfig() AiGuardrailAiGuardrailContentPolicyConfigPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) AiGuardrailAiGuardrailContentPolicyConfigPtrOutput { return v.ContentPolicyConfig }).(AiGuardrailAiGuardrailContentPolicyConfigPtrOutput)
 }
 
+// The policy configuration details for the AI Guardrail's contextual grounding policy.
 func (o AiGuardrailOutput) ContextualGroundingPolicyConfig() AiGuardrailAiGuardrailContextualGroundingPolicyConfigPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) AiGuardrailAiGuardrailContextualGroundingPolicyConfigPtrOutput {
 		return v.ContextualGroundingPolicyConfig
@@ -202,24 +235,29 @@ func (o AiGuardrailOutput) Description() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
 }
 
+// The name of the AI Guardrail.
 func (o AiGuardrailOutput) Name() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput)
 }
 
+// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
 func (o AiGuardrailOutput) SensitiveInformationPolicyConfig() AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrOutput {
 		return v.SensitiveInformationPolicyConfig
 	}).(AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrOutput)
 }
 
+// The tags used to organize, track, or control access for this resource.
 func (o AiGuardrailOutput) Tags() pulumi.StringMapOutput {
 	return o.ApplyT(func(v *AiGuardrail) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
 }
 
+// Contains details about topics that the AI Guardrail should identify and deny.
 func (o AiGuardrailOutput) TopicPolicyConfig() AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput { return v.TopicPolicyConfig }).(AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput)
 }
 
+// Contains details about the word policy to configured for the AI Guardrail.
 func (o AiGuardrailOutput) WordPolicyConfig() AiGuardrailAiGuardrailWordPolicyConfigPtrOutput {
 	return o.ApplyT(func(v *AiGuardrail) AiGuardrailAiGuardrailWordPolicyConfigPtrOutput { return v.WordPolicyConfig }).(AiGuardrailAiGuardrailWordPolicyConfigPtrOutput)
 }
diff --git a/sdk/go/aws/wisdom/aiGuardrailVersion.go b/sdk/go/aws/wisdom/aiGuardrailVersion.go
index 12f770c8e9..3cd5a537f6 100644
--- a/sdk/go/aws/wisdom/aiGuardrailVersion.go
+++ b/sdk/go/aws/wisdom/aiGuardrailVersion.go
@@ -22,7 +22,8 @@ type AiGuardrailVersion struct {
 	AssistantArn         pulumi.StringOutput     `pulumi:"assistantArn"`
 	AssistantId          pulumi.StringOutput     `pulumi:"assistantId"`
 	ModifiedTimeSeconds  pulumi.Float64PtrOutput `pulumi:"modifiedTimeSeconds"`
-	VersionNumber        pulumi.Float64Output    `pulumi:"versionNumber"`
+	// The version number for this AI Guardrail version.
+	VersionNumber pulumi.Float64Output `pulumi:"versionNumber"`
 }
 
 // NewAiGuardrailVersion registers a new resource with the given unique name, arguments, and options.
@@ -150,6 +151,7 @@ func (o AiGuardrailVersionOutput) ModifiedTimeSeconds() pulumi.Float64PtrOutput
 	return o.ApplyT(func(v *AiGuardrailVersion) pulumi.Float64PtrOutput { return v.ModifiedTimeSeconds }).(pulumi.Float64PtrOutput)
 }
 
+// The version number for this AI Guardrail version.
 func (o AiGuardrailVersionOutput) VersionNumber() pulumi.Float64Output {
 	return o.ApplyT(func(v *AiGuardrailVersion) pulumi.Float64Output { return v.VersionNumber }).(pulumi.Float64Output)
 }
diff --git a/sdk/go/aws/wisdom/getAiGuardrail.go b/sdk/go/aws/wisdom/getAiGuardrail.go
index 390e4068ae..653292744f 100644
--- a/sdk/go/aws/wisdom/getAiGuardrail.go
+++ b/sdk/go/aws/wisdom/getAiGuardrail.go
@@ -23,25 +23,35 @@ func LookupAiGuardrail(ctx *pulumi.Context, args *LookupAiGuardrailArgs, opts ..
 }
 
 type LookupAiGuardrailArgs struct {
+	// The identifier of the Amazon Q in Connect AI Guardrail.
 	AiGuardrailId string `pulumi:"aiGuardrailId"`
-	AssistantId   string `pulumi:"assistantId"`
+	// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+	AssistantId string `pulumi:"assistantId"`
 }
 
 type LookupAiGuardrailResult struct {
+	// The Amazon Resource Name (ARN) of the AI Guardrail.
 	AiGuardrailArn *string `pulumi:"aiGuardrailArn"`
-	AiGuardrailId  *string `pulumi:"aiGuardrailId"`
-	AssistantArn   *string `pulumi:"assistantArn"`
+	// The identifier of the Amazon Q in Connect AI Guardrail.
+	AiGuardrailId *string `pulumi:"aiGuardrailId"`
+	// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+	AssistantArn *string `pulumi:"assistantArn"`
 	// Messaging for when violations are detected in text
 	BlockedInputMessaging *string `pulumi:"blockedInputMessaging"`
 	// Messaging for when violations are detected in text
-	BlockedOutputsMessaging         *string                                                `pulumi:"blockedOutputsMessaging"`
-	ContentPolicyConfig             *AiGuardrailAiGuardrailContentPolicyConfig             `pulumi:"contentPolicyConfig"`
+	BlockedOutputsMessaging *string `pulumi:"blockedOutputsMessaging"`
+	// Contains details about how to handle harmful content.
+	ContentPolicyConfig *AiGuardrailAiGuardrailContentPolicyConfig `pulumi:"contentPolicyConfig"`
+	// The policy configuration details for the AI Guardrail's contextual grounding policy.
 	ContextualGroundingPolicyConfig *AiGuardrailAiGuardrailContextualGroundingPolicyConfig `pulumi:"contextualGroundingPolicyConfig"`
 	// Description of the guardrail or its version
-	Description                      *string                                                 `pulumi:"description"`
+	Description *string `pulumi:"description"`
+	// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
 	SensitiveInformationPolicyConfig *AiGuardrailAiGuardrailSensitiveInformationPolicyConfig `pulumi:"sensitiveInformationPolicyConfig"`
-	TopicPolicyConfig                *AiGuardrailAiGuardrailTopicPolicyConfig                `pulumi:"topicPolicyConfig"`
-	WordPolicyConfig                 *AiGuardrailAiGuardrailWordPolicyConfig                 `pulumi:"wordPolicyConfig"`
+	// Contains details about topics that the AI Guardrail should identify and deny.
+	TopicPolicyConfig *AiGuardrailAiGuardrailTopicPolicyConfig `pulumi:"topicPolicyConfig"`
+	// Contains details about the word policy to configured for the AI Guardrail.
+	WordPolicyConfig *AiGuardrailAiGuardrailWordPolicyConfig `pulumi:"wordPolicyConfig"`
 }
 
 func LookupAiGuardrailOutput(ctx *pulumi.Context, args LookupAiGuardrailOutputArgs, opts ...pulumi.InvokeOption) LookupAiGuardrailResultOutput {
@@ -64,8 +74,10 @@ func LookupAiGuardrailOutput(ctx *pulumi.Context, args LookupAiGuardrailOutputAr
 }
 
 type LookupAiGuardrailOutputArgs struct {
+	// The identifier of the Amazon Q in Connect AI Guardrail.
 	AiGuardrailId pulumi.StringInput `pulumi:"aiGuardrailId"`
-	AssistantId   pulumi.StringInput `pulumi:"assistantId"`
+	// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+	AssistantId pulumi.StringInput `pulumi:"assistantId"`
 }
 
 func (LookupAiGuardrailOutputArgs) ElementType() reflect.Type {
@@ -86,14 +98,17 @@ func (o LookupAiGuardrailResultOutput) ToLookupAiGuardrailResultOutputWithContex
 	return o
 }
 
+// The Amazon Resource Name (ARN) of the AI Guardrail.
 func (o LookupAiGuardrailResultOutput) AiGuardrailArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *string { return v.AiGuardrailArn }).(pulumi.StringPtrOutput)
 }
 
+// The identifier of the Amazon Q in Connect AI Guardrail.
 func (o LookupAiGuardrailResultOutput) AiGuardrailId() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *string { return v.AiGuardrailId }).(pulumi.StringPtrOutput)
 }
 
+// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
 func (o LookupAiGuardrailResultOutput) AssistantArn() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *string { return v.AssistantArn }).(pulumi.StringPtrOutput)
 }
@@ -108,12 +123,14 @@ func (o LookupAiGuardrailResultOutput) BlockedOutputsMessaging() pulumi.StringPt
 	return o.ApplyT(func(v LookupAiGuardrailResult) *string { return v.BlockedOutputsMessaging }).(pulumi.StringPtrOutput)
 }
 
+// Contains details about how to handle harmful content.
 func (o LookupAiGuardrailResultOutput) ContentPolicyConfig() AiGuardrailAiGuardrailContentPolicyConfigPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *AiGuardrailAiGuardrailContentPolicyConfig {
 		return v.ContentPolicyConfig
 	}).(AiGuardrailAiGuardrailContentPolicyConfigPtrOutput)
 }
 
+// The policy configuration details for the AI Guardrail's contextual grounding policy.
 func (o LookupAiGuardrailResultOutput) ContextualGroundingPolicyConfig() AiGuardrailAiGuardrailContextualGroundingPolicyConfigPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *AiGuardrailAiGuardrailContextualGroundingPolicyConfig {
 		return v.ContextualGroundingPolicyConfig
@@ -125,16 +142,19 @@ func (o LookupAiGuardrailResultOutput) Description() pulumi.StringPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *string { return v.Description }).(pulumi.StringPtrOutput)
 }
 
+// Contains details about PII entities and regular expressions to configure for the AI Guardrail.
 func (o LookupAiGuardrailResultOutput) SensitiveInformationPolicyConfig() AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *AiGuardrailAiGuardrailSensitiveInformationPolicyConfig {
 		return v.SensitiveInformationPolicyConfig
 	}).(AiGuardrailAiGuardrailSensitiveInformationPolicyConfigPtrOutput)
 }
 
+// Contains details about topics that the AI Guardrail should identify and deny.
 func (o LookupAiGuardrailResultOutput) TopicPolicyConfig() AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *AiGuardrailAiGuardrailTopicPolicyConfig { return v.TopicPolicyConfig }).(AiGuardrailAiGuardrailTopicPolicyConfigPtrOutput)
 }
 
+// Contains details about the word policy to configured for the AI Guardrail.
 func (o LookupAiGuardrailResultOutput) WordPolicyConfig() AiGuardrailAiGuardrailWordPolicyConfigPtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailResult) *AiGuardrailAiGuardrailWordPolicyConfig { return v.WordPolicyConfig }).(AiGuardrailAiGuardrailWordPolicyConfigPtrOutput)
 }
diff --git a/sdk/go/aws/wisdom/getAiGuardrailVersion.go b/sdk/go/aws/wisdom/getAiGuardrailVersion.go
index 3e54d7c316..ed9bb83d1f 100644
--- a/sdk/go/aws/wisdom/getAiGuardrailVersion.go
+++ b/sdk/go/aws/wisdom/getAiGuardrailVersion.go
@@ -23,16 +23,18 @@ func LookupAiGuardrailVersion(ctx *pulumi.Context, args *LookupAiGuardrailVersio
 }
 
 type LookupAiGuardrailVersionArgs struct {
-	AiGuardrailId string  `pulumi:"aiGuardrailId"`
-	AssistantId   string  `pulumi:"assistantId"`
+	AiGuardrailId string `pulumi:"aiGuardrailId"`
+	AssistantId   string `pulumi:"assistantId"`
+	// The version number for this AI Guardrail version.
 	VersionNumber float64 `pulumi:"versionNumber"`
 }
 
 type LookupAiGuardrailVersionResult struct {
-	AiGuardrailArn       *string  `pulumi:"aiGuardrailArn"`
-	AiGuardrailVersionId *string  `pulumi:"aiGuardrailVersionId"`
-	AssistantArn         *string  `pulumi:"assistantArn"`
-	VersionNumber        *float64 `pulumi:"versionNumber"`
+	AiGuardrailArn       *string `pulumi:"aiGuardrailArn"`
+	AiGuardrailVersionId *string `pulumi:"aiGuardrailVersionId"`
+	AssistantArn         *string `pulumi:"assistantArn"`
+	// The version number for this AI Guardrail version.
+	VersionNumber *float64 `pulumi:"versionNumber"`
 }
 
 func LookupAiGuardrailVersionOutput(ctx *pulumi.Context, args LookupAiGuardrailVersionOutputArgs, opts ...pulumi.InvokeOption) LookupAiGuardrailVersionResultOutput {
@@ -55,8 +57,9 @@ func LookupAiGuardrailVersionOutput(ctx *pulumi.Context, args LookupAiGuardrailV
 }
 
 type LookupAiGuardrailVersionOutputArgs struct {
-	AiGuardrailId pulumi.StringInput  `pulumi:"aiGuardrailId"`
-	AssistantId   pulumi.StringInput  `pulumi:"assistantId"`
+	AiGuardrailId pulumi.StringInput `pulumi:"aiGuardrailId"`
+	AssistantId   pulumi.StringInput `pulumi:"assistantId"`
+	// The version number for this AI Guardrail version.
 	VersionNumber pulumi.Float64Input `pulumi:"versionNumber"`
 }
 
@@ -90,6 +93,7 @@ func (o LookupAiGuardrailVersionResultOutput) AssistantArn() pulumi.StringPtrOut
 	return o.ApplyT(func(v LookupAiGuardrailVersionResult) *string { return v.AssistantArn }).(pulumi.StringPtrOutput)
 }
 
+// The version number for this AI Guardrail version.
 func (o LookupAiGuardrailVersionResultOutput) VersionNumber() pulumi.Float64PtrOutput {
 	return o.ApplyT(func(v LookupAiGuardrailVersionResult) *float64 { return v.VersionNumber }).(pulumi.Float64PtrOutput)
 }
diff --git a/sdk/nodejs/amazonmq/configuration.ts b/sdk/nodejs/amazonmq/configuration.ts
index be32b0777c..07852232ec 100644
--- a/sdk/nodejs/amazonmq/configuration.ts
+++ b/sdk/nodejs/amazonmq/configuration.ts
@@ -84,7 +84,7 @@ export class Configuration extends pulumi.CustomResource {
     /**
      * The base64-encoded XML configuration.
      */
-    public readonly data!: pulumi.Output<string>;
+    public readonly data!: pulumi.Output<string | undefined>;
     /**
      * The description of the configuration.
      */
@@ -121,9 +121,6 @@ export class Configuration extends pulumi.CustomResource {
         let resourceInputs: pulumi.Inputs = {};
         opts = opts || {};
         if (!opts.id) {
-            if ((!args || args.data === undefined) && !opts.urn) {
-                throw new Error("Missing required property 'data'");
-            }
             if ((!args || args.engineType === undefined) && !opts.urn) {
                 throw new Error("Missing required property 'engineType'");
             }
@@ -167,7 +164,7 @@ export interface ConfigurationArgs {
     /**
      * The base64-encoded XML configuration.
      */
-    data: pulumi.Input<string>;
+    data?: pulumi.Input<string>;
     /**
      * The description of the configuration.
      */
diff --git a/sdk/nodejs/ec2/launchTemplate.ts b/sdk/nodejs/ec2/launchTemplate.ts
index a0a732adbd..9f8891347c 100644
--- a/sdk/nodejs/ec2/launchTemplate.ts
+++ b/sdk/nodejs/ec2/launchTemplate.ts
@@ -67,7 +67,7 @@ export class LaunchTemplate extends pulumi.CustomResource {
     public readonly launchTemplateName!: pulumi.Output<string | undefined>;
     /**
      * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-     *  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+     *  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
      */
     public readonly tagSpecifications!: pulumi.Output<outputs.ec2.LaunchTemplateTagSpecification[] | undefined>;
     /**
@@ -126,7 +126,7 @@ export interface LaunchTemplateArgs {
     launchTemplateName?: pulumi.Input<string>;
     /**
      * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-     *  To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+     *  To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
      */
     tagSpecifications?: pulumi.Input<pulumi.Input<inputs.ec2.LaunchTemplateTagSpecificationArgs>[]>;
     /**
diff --git a/sdk/nodejs/lambda/eventSourceMapping.ts b/sdk/nodejs/lambda/eventSourceMapping.ts
index 7af1084cca..9f95050b24 100644
--- a/sdk/nodejs/lambda/eventSourceMapping.ts
+++ b/sdk/nodejs/lambda/eventSourceMapping.ts
@@ -136,7 +136,7 @@ export class EventSourceMapping extends pulumi.CustomResource {
      */
     public readonly maximumRetryAttempts!: pulumi.Output<number | undefined>;
     /**
-     * The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+     * The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
      */
     public readonly metricsConfig!: pulumi.Output<outputs.lambda.EventSourceMappingMetricsConfig | undefined>;
     /**
@@ -144,7 +144,7 @@ export class EventSourceMapping extends pulumi.CustomResource {
      */
     public readonly parallelizationFactor!: pulumi.Output<number | undefined>;
     /**
-     * (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+     * (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
      */
     public readonly provisionedPollerConfig!: pulumi.Output<outputs.lambda.EventSourceMappingProvisionedPollerConfig | undefined>;
     /**
@@ -360,7 +360,7 @@ export interface EventSourceMappingArgs {
      */
     maximumRetryAttempts?: pulumi.Input<number>;
     /**
-     * The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+     * The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
      */
     metricsConfig?: pulumi.Input<inputs.lambda.EventSourceMappingMetricsConfigArgs>;
     /**
@@ -368,7 +368,7 @@ export interface EventSourceMappingArgs {
      */
     parallelizationFactor?: pulumi.Input<number>;
     /**
-     * (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+     * (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
      */
     provisionedPollerConfig?: pulumi.Input<inputs.lambda.EventSourceMappingProvisionedPollerConfigArgs>;
     /**
diff --git a/sdk/nodejs/lambda/getEventSourceMapping.ts b/sdk/nodejs/lambda/getEventSourceMapping.ts
index 21377ec2bc..114e3d470e 100644
--- a/sdk/nodejs/lambda/getEventSourceMapping.ts
+++ b/sdk/nodejs/lambda/getEventSourceMapping.ts
@@ -110,7 +110,7 @@ export interface GetEventSourceMappingResult {
      */
     readonly maximumRetryAttempts?: number;
     /**
-     * The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+     * The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
      */
     readonly metricsConfig?: outputs.lambda.EventSourceMappingMetricsConfig;
     /**
@@ -118,7 +118,7 @@ export interface GetEventSourceMappingResult {
      */
     readonly parallelizationFactor?: number;
     /**
-     * (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+     * (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
      */
     readonly provisionedPollerConfig?: outputs.lambda.EventSourceMappingProvisionedPollerConfig;
     /**
diff --git a/sdk/nodejs/qbusiness/application.ts b/sdk/nodejs/qbusiness/application.ts
index f767ebc968..66da780a6b 100644
--- a/sdk/nodejs/qbusiness/application.ts
+++ b/sdk/nodejs/qbusiness/application.ts
@@ -96,6 +96,7 @@ export class Application extends pulumi.CustomResource {
      * Configuration information about Amazon Q Apps.
      */
     public readonly qAppsConfiguration!: pulumi.Output<outputs.qbusiness.ApplicationQAppsConfiguration | undefined>;
+    public readonly quickSightConfiguration!: pulumi.Output<outputs.qbusiness.ApplicationQuickSightConfiguration | undefined>;
     /**
      * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
      */
@@ -138,6 +139,7 @@ export class Application extends pulumi.CustomResource {
             resourceInputs["identityType"] = args ? args.identityType : undefined;
             resourceInputs["personalizationConfiguration"] = args ? args.personalizationConfiguration : undefined;
             resourceInputs["qAppsConfiguration"] = args ? args.qAppsConfiguration : undefined;
+            resourceInputs["quickSightConfiguration"] = args ? args.quickSightConfiguration : undefined;
             resourceInputs["roleArn"] = args ? args.roleArn : undefined;
             resourceInputs["tags"] = args ? args.tags : undefined;
             resourceInputs["applicationArn"] = undefined /*out*/;
@@ -162,13 +164,14 @@ export class Application extends pulumi.CustomResource {
             resourceInputs["identityType"] = undefined /*out*/;
             resourceInputs["personalizationConfiguration"] = undefined /*out*/;
             resourceInputs["qAppsConfiguration"] = undefined /*out*/;
+            resourceInputs["quickSightConfiguration"] = undefined /*out*/;
             resourceInputs["roleArn"] = undefined /*out*/;
             resourceInputs["status"] = undefined /*out*/;
             resourceInputs["tags"] = undefined /*out*/;
             resourceInputs["updatedAt"] = undefined /*out*/;
         }
         opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
-        const replaceOnChanges = { replaceOnChanges: ["clientIdsForOidc[*]", "encryptionConfiguration", "iamIdentityProviderArn", "identityType"] };
+        const replaceOnChanges = { replaceOnChanges: ["clientIdsForOidc[*]", "encryptionConfiguration", "iamIdentityProviderArn", "identityType", "quickSightConfiguration"] };
         opts = pulumi.mergeOptions(opts, replaceOnChanges);
         super(Application.__pulumiType, name, resourceInputs, opts);
     }
@@ -221,6 +224,7 @@ export interface ApplicationArgs {
      * Configuration information about Amazon Q Apps.
      */
     qAppsConfiguration?: pulumi.Input<inputs.qbusiness.ApplicationQAppsConfigurationArgs>;
+    quickSightConfiguration?: pulumi.Input<inputs.qbusiness.ApplicationQuickSightConfigurationArgs>;
     /**
      * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role.
      */
diff --git a/sdk/nodejs/qbusiness/dataAccessor.ts b/sdk/nodejs/qbusiness/dataAccessor.ts
new file mode 100644
index 0000000000..b1bac605e2
--- /dev/null
+++ b/sdk/nodejs/qbusiness/dataAccessor.ts
@@ -0,0 +1,109 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as inputs from "../types/input";
+import * as outputs from "../types/output";
+import * as enums from "../types/enums";
+import * as utilities from "../utilities";
+
+/**
+ * Definition of AWS::QBusiness::DataAccessor Resource Type
+ */
+export class DataAccessor extends pulumi.CustomResource {
+    /**
+     * Get an existing DataAccessor resource's state with the given name, ID, and optional extra
+     * properties used to qualify the lookup.
+     *
+     * @param name The _unique_ name of the resulting resource.
+     * @param id The _unique_ provider ID of the resource to lookup.
+     * @param opts Optional settings to control the behavior of the CustomResource.
+     */
+    public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): DataAccessor {
+        return new DataAccessor(name, undefined as any, { ...opts, id: id });
+    }
+
+    /** @internal */
+    public static readonly __pulumiType = 'aws-native:qbusiness:DataAccessor';
+
+    /**
+     * Returns true if the given object is an instance of DataAccessor.  This is designed to work even
+     * when multiple copies of the Pulumi SDK have been loaded into the same process.
+     */
+    public static isInstance(obj: any): obj is DataAccessor {
+        if (obj === undefined || obj === null) {
+            return false;
+        }
+        return obj['__pulumiType'] === DataAccessor.__pulumiType;
+    }
+
+    public readonly actionConfigurations!: pulumi.Output<outputs.qbusiness.DataAccessorActionConfiguration[]>;
+    public readonly applicationId!: pulumi.Output<string | undefined>;
+    public /*out*/ readonly createdAt!: pulumi.Output<string>;
+    public /*out*/ readonly dataAccessorArn!: pulumi.Output<string>;
+    public /*out*/ readonly dataAccessorId!: pulumi.Output<string>;
+    public readonly displayName!: pulumi.Output<string>;
+    public /*out*/ readonly idcApplicationArn!: pulumi.Output<string>;
+    public readonly principal!: pulumi.Output<string>;
+    public readonly tags!: pulumi.Output<outputs.Tag[] | undefined>;
+    public /*out*/ readonly updatedAt!: pulumi.Output<string>;
+
+    /**
+     * Create a DataAccessor resource with the given unique name, arguments, and options.
+     *
+     * @param name The _unique_ name of the resource.
+     * @param args The arguments to use to populate this resource's properties.
+     * @param opts A bag of options that control this resource's behavior.
+     */
+    constructor(name: string, args: DataAccessorArgs, opts?: pulumi.CustomResourceOptions) {
+        let resourceInputs: pulumi.Inputs = {};
+        opts = opts || {};
+        if (!opts.id) {
+            if ((!args || args.actionConfigurations === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'actionConfigurations'");
+            }
+            if ((!args || args.displayName === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'displayName'");
+            }
+            if ((!args || args.principal === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'principal'");
+            }
+            resourceInputs["actionConfigurations"] = args ? args.actionConfigurations : undefined;
+            resourceInputs["applicationId"] = args ? args.applicationId : undefined;
+            resourceInputs["displayName"] = args ? args.displayName : undefined;
+            resourceInputs["principal"] = args ? args.principal : undefined;
+            resourceInputs["tags"] = args ? args.tags : undefined;
+            resourceInputs["createdAt"] = undefined /*out*/;
+            resourceInputs["dataAccessorArn"] = undefined /*out*/;
+            resourceInputs["dataAccessorId"] = undefined /*out*/;
+            resourceInputs["idcApplicationArn"] = undefined /*out*/;
+            resourceInputs["updatedAt"] = undefined /*out*/;
+        } else {
+            resourceInputs["actionConfigurations"] = undefined /*out*/;
+            resourceInputs["applicationId"] = undefined /*out*/;
+            resourceInputs["createdAt"] = undefined /*out*/;
+            resourceInputs["dataAccessorArn"] = undefined /*out*/;
+            resourceInputs["dataAccessorId"] = undefined /*out*/;
+            resourceInputs["displayName"] = undefined /*out*/;
+            resourceInputs["idcApplicationArn"] = undefined /*out*/;
+            resourceInputs["principal"] = undefined /*out*/;
+            resourceInputs["tags"] = undefined /*out*/;
+            resourceInputs["updatedAt"] = undefined /*out*/;
+        }
+        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+        const replaceOnChanges = { replaceOnChanges: ["applicationId", "principal"] };
+        opts = pulumi.mergeOptions(opts, replaceOnChanges);
+        super(DataAccessor.__pulumiType, name, resourceInputs, opts);
+    }
+}
+
+/**
+ * The set of arguments for constructing a DataAccessor resource.
+ */
+export interface DataAccessorArgs {
+    actionConfigurations: pulumi.Input<pulumi.Input<inputs.qbusiness.DataAccessorActionConfigurationArgs>[]>;
+    applicationId?: pulumi.Input<string>;
+    displayName: pulumi.Input<string>;
+    principal: pulumi.Input<string>;
+    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
+}
diff --git a/sdk/nodejs/qbusiness/dataSource.ts b/sdk/nodejs/qbusiness/dataSource.ts
index a72c3bccb9..5c87a2b3aa 100644
--- a/sdk/nodejs/qbusiness/dataSource.ts
+++ b/sdk/nodejs/qbusiness/dataSource.ts
@@ -87,6 +87,7 @@ export class DataSource extends pulumi.CustomResource {
      * The identifier of the index the data source is attached to.
      */
     public readonly indexId!: pulumi.Output<string>;
+    public readonly mediaExtractionConfiguration!: pulumi.Output<outputs.qbusiness.DataSourceMediaExtractionConfiguration | undefined>;
     /**
      * The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
      */
@@ -147,6 +148,7 @@ export class DataSource extends pulumi.CustomResource {
             resourceInputs["displayName"] = args ? args.displayName : undefined;
             resourceInputs["documentEnrichmentConfiguration"] = args ? args.documentEnrichmentConfiguration : undefined;
             resourceInputs["indexId"] = args ? args.indexId : undefined;
+            resourceInputs["mediaExtractionConfiguration"] = args ? args.mediaExtractionConfiguration : undefined;
             resourceInputs["roleArn"] = args ? args.roleArn : undefined;
             resourceInputs["syncSchedule"] = args ? args.syncSchedule : undefined;
             resourceInputs["tags"] = args ? args.tags : undefined;
@@ -167,6 +169,7 @@ export class DataSource extends pulumi.CustomResource {
             resourceInputs["displayName"] = undefined /*out*/;
             resourceInputs["documentEnrichmentConfiguration"] = undefined /*out*/;
             resourceInputs["indexId"] = undefined /*out*/;
+            resourceInputs["mediaExtractionConfiguration"] = undefined /*out*/;
             resourceInputs["roleArn"] = undefined /*out*/;
             resourceInputs["status"] = undefined /*out*/;
             resourceInputs["syncSchedule"] = undefined /*out*/;
@@ -224,6 +227,7 @@ export interface DataSourceArgs {
      * The identifier of the index the data source is attached to.
      */
     indexId: pulumi.Input<string>;
+    mediaExtractionConfiguration?: pulumi.Input<inputs.qbusiness.DataSourceMediaExtractionConfigurationArgs>;
     /**
      * The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
      */
diff --git a/sdk/nodejs/qbusiness/getDataAccessor.ts b/sdk/nodejs/qbusiness/getDataAccessor.ts
new file mode 100644
index 0000000000..c7128dcd55
--- /dev/null
+++ b/sdk/nodejs/qbusiness/getDataAccessor.ts
@@ -0,0 +1,50 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as inputs from "../types/input";
+import * as outputs from "../types/output";
+import * as enums from "../types/enums";
+import * as utilities from "../utilities";
+
+/**
+ * Definition of AWS::QBusiness::DataAccessor Resource Type
+ */
+export function getDataAccessor(args: GetDataAccessorArgs, opts?: pulumi.InvokeOptions): Promise<GetDataAccessorResult> {
+    opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+    return pulumi.runtime.invoke("aws-native:qbusiness:getDataAccessor", {
+        "applicationId": args.applicationId,
+        "dataAccessorId": args.dataAccessorId,
+    }, opts);
+}
+
+export interface GetDataAccessorArgs {
+    applicationId: string;
+    dataAccessorId: string;
+}
+
+export interface GetDataAccessorResult {
+    readonly actionConfigurations?: outputs.qbusiness.DataAccessorActionConfiguration[];
+    readonly createdAt?: string;
+    readonly dataAccessorArn?: string;
+    readonly dataAccessorId?: string;
+    readonly displayName?: string;
+    readonly idcApplicationArn?: string;
+    readonly tags?: outputs.Tag[];
+    readonly updatedAt?: string;
+}
+/**
+ * Definition of AWS::QBusiness::DataAccessor Resource Type
+ */
+export function getDataAccessorOutput(args: GetDataAccessorOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDataAccessorResult> {
+    opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+    return pulumi.runtime.invokeOutput("aws-native:qbusiness:getDataAccessor", {
+        "applicationId": args.applicationId,
+        "dataAccessorId": args.dataAccessorId,
+    }, opts);
+}
+
+export interface GetDataAccessorOutputArgs {
+    applicationId: pulumi.Input<string>;
+    dataAccessorId: pulumi.Input<string>;
+}
diff --git a/sdk/nodejs/qbusiness/getDataSource.ts b/sdk/nodejs/qbusiness/getDataSource.ts
index f25b28cfea..f423075878 100644
--- a/sdk/nodejs/qbusiness/getDataSource.ts
+++ b/sdk/nodejs/qbusiness/getDataSource.ts
@@ -77,6 +77,7 @@ export interface GetDataSourceResult {
      * For more information, see [Custom document enrichment](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html) .
      */
     readonly documentEnrichmentConfiguration?: outputs.qbusiness.DataSourceDocumentEnrichmentConfiguration;
+    readonly mediaExtractionConfiguration?: outputs.qbusiness.DataSourceMediaExtractionConfiguration;
     /**
      * The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.
      */
diff --git a/sdk/nodejs/qbusiness/getWebExperience.ts b/sdk/nodejs/qbusiness/getWebExperience.ts
index 9f28d47bc1..4d912ba612 100644
--- a/sdk/nodejs/qbusiness/getWebExperience.ts
+++ b/sdk/nodejs/qbusiness/getWebExperience.ts
@@ -34,6 +34,7 @@ export interface GetWebExperienceResult {
      * The Unix timestamp when the Amazon Q Business application was last updated.
      */
     readonly createdAt?: string;
+    readonly customizationConfiguration?: outputs.qbusiness.WebExperienceCustomizationConfiguration;
     /**
      * The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
      */
diff --git a/sdk/nodejs/qbusiness/index.ts b/sdk/nodejs/qbusiness/index.ts
index 2a57495c81..8596289710 100644
--- a/sdk/nodejs/qbusiness/index.ts
+++ b/sdk/nodejs/qbusiness/index.ts
@@ -10,6 +10,11 @@ export type Application = import("./application").Application;
 export const Application: typeof import("./application").Application = null as any;
 utilities.lazyLoad(exports, ["Application"], () => require("./application"));
 
+export { DataAccessorArgs } from "./dataAccessor";
+export type DataAccessor = import("./dataAccessor").DataAccessor;
+export const DataAccessor: typeof import("./dataAccessor").DataAccessor = null as any;
+utilities.lazyLoad(exports, ["DataAccessor"], () => require("./dataAccessor"));
+
 export { DataSourceArgs } from "./dataSource";
 export type DataSource = import("./dataSource").DataSource;
 export const DataSource: typeof import("./dataSource").DataSource = null as any;
@@ -20,6 +25,11 @@ export const getApplication: typeof import("./getApplication").getApplication =
 export const getApplicationOutput: typeof import("./getApplication").getApplicationOutput = null as any;
 utilities.lazyLoad(exports, ["getApplication","getApplicationOutput"], () => require("./getApplication"));
 
+export { GetDataAccessorArgs, GetDataAccessorResult, GetDataAccessorOutputArgs } from "./getDataAccessor";
+export const getDataAccessor: typeof import("./getDataAccessor").getDataAccessor = null as any;
+export const getDataAccessorOutput: typeof import("./getDataAccessor").getDataAccessorOutput = null as any;
+utilities.lazyLoad(exports, ["getDataAccessor","getDataAccessorOutput"], () => require("./getDataAccessor"));
+
 export { GetDataSourceArgs, GetDataSourceResult, GetDataSourceOutputArgs } from "./getDataSource";
 export const getDataSource: typeof import("./getDataSource").getDataSource = null as any;
 export const getDataSourceOutput: typeof import("./getDataSource").getDataSourceOutput = null as any;
@@ -50,6 +60,11 @@ export type Index = import("./index_").Index;
 export const Index: typeof import("./index_").Index = null as any;
 utilities.lazyLoad(exports, ["Index"], () => require("./index_"));
 
+export { PermissionArgs } from "./permission";
+export type Permission = import("./permission").Permission;
+export const Permission: typeof import("./permission").Permission = null as any;
+utilities.lazyLoad(exports, ["Permission"], () => require("./permission"));
+
 export { PluginArgs } from "./plugin";
 export type Plugin = import("./plugin").Plugin;
 export const Plugin: typeof import("./plugin").Plugin = null as any;
@@ -75,10 +90,14 @@ const _module = {
         switch (type) {
             case "aws-native:qbusiness:Application":
                 return new Application(name, <any>undefined, { urn })
+            case "aws-native:qbusiness:DataAccessor":
+                return new DataAccessor(name, <any>undefined, { urn })
             case "aws-native:qbusiness:DataSource":
                 return new DataSource(name, <any>undefined, { urn })
             case "aws-native:qbusiness:Index":
                 return new Index(name, <any>undefined, { urn })
+            case "aws-native:qbusiness:Permission":
+                return new Permission(name, <any>undefined, { urn })
             case "aws-native:qbusiness:Plugin":
                 return new Plugin(name, <any>undefined, { urn })
             case "aws-native:qbusiness:Retriever":
diff --git a/sdk/nodejs/qbusiness/permission.ts b/sdk/nodejs/qbusiness/permission.ts
new file mode 100644
index 0000000000..ab09d1c1d1
--- /dev/null
+++ b/sdk/nodejs/qbusiness/permission.ts
@@ -0,0 +1,90 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as utilities from "../utilities";
+
+/**
+ * Definition of AWS::QBusiness::Permission Resource Type
+ */
+export class Permission extends pulumi.CustomResource {
+    /**
+     * Get an existing Permission resource's state with the given name, ID, and optional extra
+     * properties used to qualify the lookup.
+     *
+     * @param name The _unique_ name of the resulting resource.
+     * @param id The _unique_ provider ID of the resource to lookup.
+     * @param opts Optional settings to control the behavior of the CustomResource.
+     */
+    public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Permission {
+        return new Permission(name, undefined as any, { ...opts, id: id });
+    }
+
+    /** @internal */
+    public static readonly __pulumiType = 'aws-native:qbusiness:Permission';
+
+    /**
+     * Returns true if the given object is an instance of Permission.  This is designed to work even
+     * when multiple copies of the Pulumi SDK have been loaded into the same process.
+     */
+    public static isInstance(obj: any): obj is Permission {
+        if (obj === undefined || obj === null) {
+            return false;
+        }
+        return obj['__pulumiType'] === Permission.__pulumiType;
+    }
+
+    public readonly actions!: pulumi.Output<string[]>;
+    public readonly applicationId!: pulumi.Output<string>;
+    public readonly principal!: pulumi.Output<string>;
+    public readonly statementId!: pulumi.Output<string>;
+
+    /**
+     * Create a Permission resource with the given unique name, arguments, and options.
+     *
+     * @param name The _unique_ name of the resource.
+     * @param args The arguments to use to populate this resource's properties.
+     * @param opts A bag of options that control this resource's behavior.
+     */
+    constructor(name: string, args: PermissionArgs, opts?: pulumi.CustomResourceOptions) {
+        let resourceInputs: pulumi.Inputs = {};
+        opts = opts || {};
+        if (!opts.id) {
+            if ((!args || args.actions === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'actions'");
+            }
+            if ((!args || args.applicationId === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'applicationId'");
+            }
+            if ((!args || args.principal === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'principal'");
+            }
+            if ((!args || args.statementId === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'statementId'");
+            }
+            resourceInputs["actions"] = args ? args.actions : undefined;
+            resourceInputs["applicationId"] = args ? args.applicationId : undefined;
+            resourceInputs["principal"] = args ? args.principal : undefined;
+            resourceInputs["statementId"] = args ? args.statementId : undefined;
+        } else {
+            resourceInputs["actions"] = undefined /*out*/;
+            resourceInputs["applicationId"] = undefined /*out*/;
+            resourceInputs["principal"] = undefined /*out*/;
+            resourceInputs["statementId"] = undefined /*out*/;
+        }
+        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+        const replaceOnChanges = { replaceOnChanges: ["actions[*]", "applicationId", "principal", "statementId"] };
+        opts = pulumi.mergeOptions(opts, replaceOnChanges);
+        super(Permission.__pulumiType, name, resourceInputs, opts);
+    }
+}
+
+/**
+ * The set of arguments for constructing a Permission resource.
+ */
+export interface PermissionArgs {
+    actions: pulumi.Input<pulumi.Input<string>[]>;
+    applicationId: pulumi.Input<string>;
+    principal: pulumi.Input<string>;
+    statementId: pulumi.Input<string>;
+}
diff --git a/sdk/nodejs/qbusiness/plugin.ts b/sdk/nodejs/qbusiness/plugin.ts
index 796e93a4a4..991aa2f538 100644
--- a/sdk/nodejs/qbusiness/plugin.ts
+++ b/sdk/nodejs/qbusiness/plugin.ts
@@ -40,7 +40,7 @@ export class Plugin extends pulumi.CustomResource {
     /**
      * The identifier of the application that will contain the plugin.
      */
-    public readonly applicationId!: pulumi.Output<string>;
+    public readonly applicationId!: pulumi.Output<string | undefined>;
     /**
      * Authentication configuration information for an Amazon Q Business plugin.
      */
@@ -101,9 +101,6 @@ export class Plugin extends pulumi.CustomResource {
         let resourceInputs: pulumi.Inputs = {};
         opts = opts || {};
         if (!opts.id) {
-            if ((!args || args.applicationId === undefined) && !opts.urn) {
-                throw new Error("Missing required property 'applicationId'");
-            }
             if ((!args || args.authConfiguration === undefined) && !opts.urn) {
                 throw new Error("Missing required property 'authConfiguration'");
             }
@@ -155,7 +152,7 @@ export interface PluginArgs {
     /**
      * The identifier of the application that will contain the plugin.
      */
-    applicationId: pulumi.Input<string>;
+    applicationId?: pulumi.Input<string>;
     /**
      * Authentication configuration information for an Amazon Q Business plugin.
      */
diff --git a/sdk/nodejs/qbusiness/webExperience.ts b/sdk/nodejs/qbusiness/webExperience.ts
index 12f8fb2e25..29cbc85a67 100644
--- a/sdk/nodejs/qbusiness/webExperience.ts
+++ b/sdk/nodejs/qbusiness/webExperience.ts
@@ -45,6 +45,7 @@ export class WebExperience extends pulumi.CustomResource {
      * The Unix timestamp when the Amazon Q Business application was last updated.
      */
     public /*out*/ readonly createdAt!: pulumi.Output<string>;
+    public readonly customizationConfiguration!: pulumi.Output<outputs.qbusiness.WebExperienceCustomizationConfiguration | undefined>;
     /**
      * The endpoint URLs for your Amazon Q Business web experience. The URLs are unique and fully hosted by AWS .
      */
@@ -117,6 +118,7 @@ export class WebExperience extends pulumi.CustomResource {
                 throw new Error("Missing required property 'applicationId'");
             }
             resourceInputs["applicationId"] = args ? args.applicationId : undefined;
+            resourceInputs["customizationConfiguration"] = args ? args.customizationConfiguration : undefined;
             resourceInputs["identityProviderConfiguration"] = args ? args.identityProviderConfiguration : undefined;
             resourceInputs["origins"] = args ? args.origins : undefined;
             resourceInputs["roleArn"] = args ? args.roleArn : undefined;
@@ -134,6 +136,7 @@ export class WebExperience extends pulumi.CustomResource {
         } else {
             resourceInputs["applicationId"] = undefined /*out*/;
             resourceInputs["createdAt"] = undefined /*out*/;
+            resourceInputs["customizationConfiguration"] = undefined /*out*/;
             resourceInputs["defaultEndpoint"] = undefined /*out*/;
             resourceInputs["identityProviderConfiguration"] = undefined /*out*/;
             resourceInputs["origins"] = undefined /*out*/;
@@ -163,6 +166,7 @@ export interface WebExperienceArgs {
      * The identifier of the Amazon Q Business web experience.
      */
     applicationId: pulumi.Input<string>;
+    customizationConfiguration?: pulumi.Input<inputs.qbusiness.WebExperienceCustomizationConfigurationArgs>;
     /**
      * Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
      */
diff --git a/sdk/nodejs/sagemaker/getPartnerApp.ts b/sdk/nodejs/sagemaker/getPartnerApp.ts
new file mode 100644
index 0000000000..9a69000a35
--- /dev/null
+++ b/sdk/nodejs/sagemaker/getPartnerApp.ts
@@ -0,0 +1,72 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as inputs from "../types/input";
+import * as outputs from "../types/output";
+import * as enums from "../types/enums";
+import * as utilities from "../utilities";
+
+/**
+ * Resource Type definition for AWS::SageMaker::PartnerApp
+ */
+export function getPartnerApp(args: GetPartnerAppArgs, opts?: pulumi.InvokeOptions): Promise<GetPartnerAppResult> {
+    opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+    return pulumi.runtime.invoke("aws-native:sagemaker:getPartnerApp", {
+        "arn": args.arn,
+    }, opts);
+}
+
+export interface GetPartnerAppArgs {
+    /**
+     * The Amazon Resource Name (ARN) of the created PartnerApp.
+     */
+    arn: string;
+}
+
+export interface GetPartnerAppResult {
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    readonly applicationConfig?: outputs.sagemaker.PartnerAppConfig;
+    /**
+     * The Amazon Resource Name (ARN) of the created PartnerApp.
+     */
+    readonly arn?: string;
+    /**
+     * The AppServerUrl based on app and account-info.
+     */
+    readonly baseUrl?: string;
+    /**
+     * Enables IAM Session based Identity for PartnerApp.
+     */
+    readonly enableIamSessionBasedIdentity?: boolean;
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    readonly maintenanceConfig?: outputs.sagemaker.PartnerAppMaintenanceConfig;
+    /**
+     * A list of tags to apply to the PartnerApp.
+     */
+    readonly tags?: outputs.Tag[];
+    /**
+     * The tier of the PartnerApp.
+     */
+    readonly tier?: string;
+}
+/**
+ * Resource Type definition for AWS::SageMaker::PartnerApp
+ */
+export function getPartnerAppOutput(args: GetPartnerAppOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPartnerAppResult> {
+    opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+    return pulumi.runtime.invokeOutput("aws-native:sagemaker:getPartnerApp", {
+        "arn": args.arn,
+    }, opts);
+}
+
+export interface GetPartnerAppOutputArgs {
+    /**
+     * The Amazon Resource Name (ARN) of the created PartnerApp.
+     */
+    arn: pulumi.Input<string>;
+}
diff --git a/sdk/nodejs/sagemaker/index.ts b/sdk/nodejs/sagemaker/index.ts
index cf12d4faeb..d7fa17b647 100644
--- a/sdk/nodejs/sagemaker/index.ts
+++ b/sdk/nodejs/sagemaker/index.ts
@@ -150,6 +150,11 @@ export const getMonitoringSchedule: typeof import("./getMonitoringSchedule").get
 export const getMonitoringScheduleOutput: typeof import("./getMonitoringSchedule").getMonitoringScheduleOutput = null as any;
 utilities.lazyLoad(exports, ["getMonitoringSchedule","getMonitoringScheduleOutput"], () => require("./getMonitoringSchedule"));
 
+export { GetPartnerAppArgs, GetPartnerAppResult, GetPartnerAppOutputArgs } from "./getPartnerApp";
+export const getPartnerApp: typeof import("./getPartnerApp").getPartnerApp = null as any;
+export const getPartnerAppOutput: typeof import("./getPartnerApp").getPartnerAppOutput = null as any;
+utilities.lazyLoad(exports, ["getPartnerApp","getPartnerAppOutput"], () => require("./getPartnerApp"));
+
 export { GetPipelineArgs, GetPipelineResult, GetPipelineOutputArgs } from "./getPipeline";
 export const getPipeline: typeof import("./getPipeline").getPipeline = null as any;
 export const getPipelineOutput: typeof import("./getPipeline").getPipelineOutput = null as any;
@@ -235,6 +240,11 @@ export type MonitoringSchedule = import("./monitoringSchedule").MonitoringSchedu
 export const MonitoringSchedule: typeof import("./monitoringSchedule").MonitoringSchedule = null as any;
 utilities.lazyLoad(exports, ["MonitoringSchedule"], () => require("./monitoringSchedule"));
 
+export { PartnerAppArgs } from "./partnerApp";
+export type PartnerApp = import("./partnerApp").PartnerApp;
+export const PartnerApp: typeof import("./partnerApp").PartnerApp = null as any;
+utilities.lazyLoad(exports, ["PartnerApp"], () => require("./partnerApp"));
+
 export { PipelineArgs } from "./pipeline";
 export type Pipeline = import("./pipeline").Pipeline;
 export const Pipeline: typeof import("./pipeline").Pipeline = null as any;
@@ -310,6 +320,8 @@ const _module = {
                 return new ModelQualityJobDefinition(name, <any>undefined, { urn })
             case "aws-native:sagemaker:MonitoringSchedule":
                 return new MonitoringSchedule(name, <any>undefined, { urn })
+            case "aws-native:sagemaker:PartnerApp":
+                return new PartnerApp(name, <any>undefined, { urn })
             case "aws-native:sagemaker:Pipeline":
                 return new Pipeline(name, <any>undefined, { urn })
             case "aws-native:sagemaker:Project":
diff --git a/sdk/nodejs/sagemaker/partnerApp.ts b/sdk/nodejs/sagemaker/partnerApp.ts
new file mode 100644
index 0000000000..324f932bc9
--- /dev/null
+++ b/sdk/nodejs/sagemaker/partnerApp.ts
@@ -0,0 +1,189 @@
+// *** WARNING: this file was generated by pulumi-language-nodejs. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import * as pulumi from "@pulumi/pulumi";
+import * as inputs from "../types/input";
+import * as outputs from "../types/output";
+import * as enums from "../types/enums";
+import * as utilities from "../utilities";
+
+/**
+ * Resource Type definition for AWS::SageMaker::PartnerApp
+ */
+export class PartnerApp extends pulumi.CustomResource {
+    /**
+     * Get an existing PartnerApp resource's state with the given name, ID, and optional extra
+     * properties used to qualify the lookup.
+     *
+     * @param name The _unique_ name of the resulting resource.
+     * @param id The _unique_ provider ID of the resource to lookup.
+     * @param opts Optional settings to control the behavior of the CustomResource.
+     */
+    public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): PartnerApp {
+        return new PartnerApp(name, undefined as any, { ...opts, id: id });
+    }
+
+    /** @internal */
+    public static readonly __pulumiType = 'aws-native:sagemaker:PartnerApp';
+
+    /**
+     * Returns true if the given object is an instance of PartnerApp.  This is designed to work even
+     * when multiple copies of the Pulumi SDK have been loaded into the same process.
+     */
+    public static isInstance(obj: any): obj is PartnerApp {
+        if (obj === undefined || obj === null) {
+            return false;
+        }
+        return obj['__pulumiType'] === PartnerApp.__pulumiType;
+    }
+
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    public readonly applicationConfig!: pulumi.Output<outputs.sagemaker.PartnerAppConfig | undefined>;
+    /**
+     * The Amazon Resource Name (ARN) of the created PartnerApp.
+     */
+    public /*out*/ readonly arn!: pulumi.Output<string>;
+    /**
+     * The Auth type of PartnerApp.
+     */
+    public readonly authType!: pulumi.Output<enums.sagemaker.PartnerAppAuthType>;
+    /**
+     * The AppServerUrl based on app and account-info.
+     */
+    public /*out*/ readonly baseUrl!: pulumi.Output<string>;
+    /**
+     * The client token for the PartnerApp.
+     */
+    public readonly clientToken!: pulumi.Output<string | undefined>;
+    /**
+     * Enables IAM Session based Identity for PartnerApp.
+     */
+    public readonly enableIamSessionBasedIdentity!: pulumi.Output<boolean | undefined>;
+    /**
+     * The execution role for the user.
+     */
+    public readonly executionRoleArn!: pulumi.Output<string>;
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    public readonly maintenanceConfig!: pulumi.Output<outputs.sagemaker.PartnerAppMaintenanceConfig | undefined>;
+    /**
+     * A name for the PartnerApp.
+     */
+    public readonly name!: pulumi.Output<string>;
+    /**
+     * A list of tags to apply to the PartnerApp.
+     */
+    public readonly tags!: pulumi.Output<outputs.Tag[] | undefined>;
+    /**
+     * The tier of the PartnerApp.
+     */
+    public readonly tier!: pulumi.Output<string>;
+    /**
+     * The type of PartnerApp.
+     */
+    public readonly type!: pulumi.Output<enums.sagemaker.PartnerAppType>;
+
+    /**
+     * Create a PartnerApp resource with the given unique name, arguments, and options.
+     *
+     * @param name The _unique_ name of the resource.
+     * @param args The arguments to use to populate this resource's properties.
+     * @param opts A bag of options that control this resource's behavior.
+     */
+    constructor(name: string, args: PartnerAppArgs, opts?: pulumi.CustomResourceOptions) {
+        let resourceInputs: pulumi.Inputs = {};
+        opts = opts || {};
+        if (!opts.id) {
+            if ((!args || args.authType === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'authType'");
+            }
+            if ((!args || args.executionRoleArn === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'executionRoleArn'");
+            }
+            if ((!args || args.tier === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'tier'");
+            }
+            if ((!args || args.type === undefined) && !opts.urn) {
+                throw new Error("Missing required property 'type'");
+            }
+            resourceInputs["applicationConfig"] = args ? args.applicationConfig : undefined;
+            resourceInputs["authType"] = args ? args.authType : undefined;
+            resourceInputs["clientToken"] = args ? args.clientToken : undefined;
+            resourceInputs["enableIamSessionBasedIdentity"] = args ? args.enableIamSessionBasedIdentity : undefined;
+            resourceInputs["executionRoleArn"] = args ? args.executionRoleArn : undefined;
+            resourceInputs["maintenanceConfig"] = args ? args.maintenanceConfig : undefined;
+            resourceInputs["name"] = args ? args.name : undefined;
+            resourceInputs["tags"] = args ? args.tags : undefined;
+            resourceInputs["tier"] = args ? args.tier : undefined;
+            resourceInputs["type"] = args ? args.type : undefined;
+            resourceInputs["arn"] = undefined /*out*/;
+            resourceInputs["baseUrl"] = undefined /*out*/;
+        } else {
+            resourceInputs["applicationConfig"] = undefined /*out*/;
+            resourceInputs["arn"] = undefined /*out*/;
+            resourceInputs["authType"] = undefined /*out*/;
+            resourceInputs["baseUrl"] = undefined /*out*/;
+            resourceInputs["clientToken"] = undefined /*out*/;
+            resourceInputs["enableIamSessionBasedIdentity"] = undefined /*out*/;
+            resourceInputs["executionRoleArn"] = undefined /*out*/;
+            resourceInputs["maintenanceConfig"] = undefined /*out*/;
+            resourceInputs["name"] = undefined /*out*/;
+            resourceInputs["tags"] = undefined /*out*/;
+            resourceInputs["tier"] = undefined /*out*/;
+            resourceInputs["type"] = undefined /*out*/;
+        }
+        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+        const replaceOnChanges = { replaceOnChanges: ["authType", "executionRoleArn", "name", "type"] };
+        opts = pulumi.mergeOptions(opts, replaceOnChanges);
+        super(PartnerApp.__pulumiType, name, resourceInputs, opts);
+    }
+}
+
+/**
+ * The set of arguments for constructing a PartnerApp resource.
+ */
+export interface PartnerAppArgs {
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    applicationConfig?: pulumi.Input<inputs.sagemaker.PartnerAppConfigArgs>;
+    /**
+     * The Auth type of PartnerApp.
+     */
+    authType: pulumi.Input<enums.sagemaker.PartnerAppAuthType>;
+    /**
+     * The client token for the PartnerApp.
+     */
+    clientToken?: pulumi.Input<string>;
+    /**
+     * Enables IAM Session based Identity for PartnerApp.
+     */
+    enableIamSessionBasedIdentity?: pulumi.Input<boolean>;
+    /**
+     * The execution role for the user.
+     */
+    executionRoleArn: pulumi.Input<string>;
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    maintenanceConfig?: pulumi.Input<inputs.sagemaker.PartnerAppMaintenanceConfigArgs>;
+    /**
+     * A name for the PartnerApp.
+     */
+    name?: pulumi.Input<string>;
+    /**
+     * A list of tags to apply to the PartnerApp.
+     */
+    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
+    /**
+     * The tier of the PartnerApp.
+     */
+    tier: pulumi.Input<string>;
+    /**
+     * The type of PartnerApp.
+     */
+    type: pulumi.Input<enums.sagemaker.PartnerAppType>;
+}
diff --git a/sdk/nodejs/stepfunctions/getStateMachineVersion.ts b/sdk/nodejs/stepfunctions/getStateMachineVersion.ts
index 152c04f8ab..176a672562 100644
--- a/sdk/nodejs/stepfunctions/getStateMachineVersion.ts
+++ b/sdk/nodejs/stepfunctions/getStateMachineVersion.ts
@@ -26,10 +26,6 @@ export interface GetStateMachineVersionResult {
      * Returns the ARN of the state machine version. For example, `arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1` .
      */
     readonly arn?: string;
-    /**
-     * An optional description of the state machine version.
-     */
-    readonly description?: string;
 }
 /**
  * Resource schema for StateMachineVersion
diff --git a/sdk/nodejs/stepfunctions/stateMachineVersion.ts b/sdk/nodejs/stepfunctions/stateMachineVersion.ts
index 398e1d73ad..9972479b19 100644
--- a/sdk/nodejs/stepfunctions/stateMachineVersion.ts
+++ b/sdk/nodejs/stepfunctions/stateMachineVersion.ts
@@ -80,7 +80,7 @@ export class StateMachineVersion extends pulumi.CustomResource {
             resourceInputs["stateMachineRevisionId"] = undefined /*out*/;
         }
         opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
-        const replaceOnChanges = { replaceOnChanges: ["stateMachineArn", "stateMachineRevisionId"] };
+        const replaceOnChanges = { replaceOnChanges: ["description", "stateMachineArn", "stateMachineRevisionId"] };
         opts = pulumi.mergeOptions(opts, replaceOnChanges);
         super(StateMachineVersion.__pulumiType, name, resourceInputs, opts);
     }
diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json
index 126e90b871..26b64e3507 100644
--- a/sdk/nodejs/tsconfig.json
+++ b/sdk/nodejs/tsconfig.json
@@ -1803,8 +1803,10 @@
         "proton/serviceTemplate.ts",
         "provider.ts",
         "qbusiness/application.ts",
+        "qbusiness/dataAccessor.ts",
         "qbusiness/dataSource.ts",
         "qbusiness/getApplication.ts",
+        "qbusiness/getDataAccessor.ts",
         "qbusiness/getDataSource.ts",
         "qbusiness/getIndex.ts",
         "qbusiness/getPlugin.ts",
@@ -1812,6 +1814,7 @@
         "qbusiness/getWebExperience.ts",
         "qbusiness/index.ts",
         "qbusiness/index_.ts",
+        "qbusiness/permission.ts",
         "qbusiness/plugin.ts",
         "qbusiness/retriever.ts",
         "qbusiness/webExperience.ts",
@@ -2075,6 +2078,7 @@
         "sagemaker/getModelPackageGroup.ts",
         "sagemaker/getModelQualityJobDefinition.ts",
         "sagemaker/getMonitoringSchedule.ts",
+        "sagemaker/getPartnerApp.ts",
         "sagemaker/getPipeline.ts",
         "sagemaker/getProject.ts",
         "sagemaker/getSpace.ts",
@@ -2093,6 +2097,7 @@
         "sagemaker/modelPackageGroup.ts",
         "sagemaker/modelQualityJobDefinition.ts",
         "sagemaker/monitoringSchedule.ts",
+        "sagemaker/partnerApp.ts",
         "sagemaker/pipeline.ts",
         "sagemaker/project.ts",
         "sagemaker/space.ts",
diff --git a/sdk/nodejs/types/enums/kendra/index.ts b/sdk/nodejs/types/enums/kendra/index.ts
index f455b382fa..ea817727af 100644
--- a/sdk/nodejs/types/enums/kendra/index.ts
+++ b/sdk/nodejs/types/enums/kendra/index.ts
@@ -218,6 +218,7 @@ export type IndexDocumentAttributeValueType = (typeof IndexDocumentAttributeValu
 export const IndexEdition = {
     DeveloperEdition: "DEVELOPER_EDITION",
     EnterpriseEdition: "ENTERPRISE_EDITION",
+    GenAiEnterpriseEdition: "GEN_AI_ENTERPRISE_EDITION",
 } as const;
 
 /**
diff --git a/sdk/nodejs/types/enums/qbusiness/index.ts b/sdk/nodejs/types/enums/qbusiness/index.ts
index 5643232111..491efd4e64 100644
--- a/sdk/nodejs/types/enums/qbusiness/index.ts
+++ b/sdk/nodejs/types/enums/qbusiness/index.ts
@@ -20,6 +20,7 @@ export const ApplicationIdentityType = {
     AwsIamIdpSaml: "AWS_IAM_IDP_SAML",
     AwsIamIdpOidc: "AWS_IAM_IDP_OIDC",
     AwsIamIdc: "AWS_IAM_IDC",
+    AwsQuicksightIdp: "AWS_QUICKSIGHT_IDP",
 } as const;
 
 export type ApplicationIdentityType = (typeof ApplicationIdentityType)[keyof typeof ApplicationIdentityType];
@@ -83,6 +84,13 @@ export const DataSourceDocumentEnrichmentConditionOperator = {
 
 export type DataSourceDocumentEnrichmentConditionOperator = (typeof DataSourceDocumentEnrichmentConditionOperator)[keyof typeof DataSourceDocumentEnrichmentConditionOperator];
 
+export const DataSourceImageExtractionStatus = {
+    Enabled: "ENABLED",
+    Disabled: "DISABLED",
+} as const;
+
+export type DataSourceImageExtractionStatus = (typeof DataSourceImageExtractionStatus)[keyof typeof DataSourceImageExtractionStatus];
+
 export const DataSourceStatus = {
     PendingCreation: "PENDING_CREATION",
     Creating: "CREATING",
@@ -151,6 +159,18 @@ export const PluginType = {
     Jira: "JIRA",
     Zendesk: "ZENDESK",
     Custom: "CUSTOM",
+    Quicksight: "QUICKSIGHT",
+    ServicenowNowPlatform: "SERVICENOW_NOW_PLATFORM",
+    JiraCloud: "JIRA_CLOUD",
+    SalesforceCrm: "SALESFORCE_CRM",
+    ZendeskSuite: "ZENDESK_SUITE",
+    AtlassianConfluence: "ATLASSIAN_CONFLUENCE",
+    GoogleCalendar: "GOOGLE_CALENDAR",
+    MicrosoftTeams: "MICROSOFT_TEAMS",
+    MicrosoftExchange: "MICROSOFT_EXCHANGE",
+    PagerdutyAdvance: "PAGERDUTY_ADVANCE",
+    Smartsheet: "SMARTSHEET",
+    Asana: "ASANA",
 } as const;
 
 export type PluginType = (typeof PluginType)[keyof typeof PluginType];
diff --git a/sdk/nodejs/types/enums/sagemaker/index.ts b/sdk/nodejs/types/enums/sagemaker/index.ts
index 7891dfc079..4fc482fae9 100644
--- a/sdk/nodejs/types/enums/sagemaker/index.ts
+++ b/sdk/nodejs/types/enums/sagemaker/index.ts
@@ -1045,6 +1045,27 @@ export const MonitoringScheduleStatus = {
  */
 export type MonitoringScheduleStatus = (typeof MonitoringScheduleStatus)[keyof typeof MonitoringScheduleStatus];
 
+export const PartnerAppAuthType = {
+    Iam: "IAM",
+} as const;
+
+/**
+ * The Auth type of PartnerApp.
+ */
+export type PartnerAppAuthType = (typeof PartnerAppAuthType)[keyof typeof PartnerAppAuthType];
+
+export const PartnerAppType = {
+    LakeraGuard: "lakera-guard",
+    Comet: "comet",
+    DeepchecksLlmEvaluation: "deepchecks-llm-evaluation",
+    Fiddler: "fiddler",
+} as const;
+
+/**
+ * The type of PartnerApp.
+ */
+export type PartnerAppType = (typeof PartnerAppType)[keyof typeof PartnerAppType];
+
 export const ProjectStatus = {
     Pending: "Pending",
     CreateInProgress: "CreateInProgress",
diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts
index 28fc45c091..9d34d5a319 100644
--- a/sdk/nodejs/types/input.ts
+++ b/sdk/nodejs/types/input.ts
@@ -22730,6 +22730,10 @@ export namespace ec2 {
         min?: pulumi.Input<number>;
     }
 
+    /**
+     * The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+     *  Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
+     */
     export interface LaunchTemplateBaselinePerformanceFactorsArgs {
         /**
          * The CPU performance to consider, using an instance family as the baseline reference.
@@ -22767,7 +22771,8 @@ export namespace ec2 {
     export interface LaunchTemplateCapacityReservationSpecificationArgs {
         /**
          * Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-         *   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+         *   +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+         *   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
          *   +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
          */
         capacityReservationPreference?: pulumi.Input<string>;
@@ -22884,7 +22889,8 @@ export namespace ec2 {
          */
         elasticGpuSpecifications?: pulumi.Input<pulumi.Input<inputs.ec2.LaunchTemplateElasticGpuSpecificationArgs>[]>;
         /**
-         * An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+         * Amazon Elastic Inference is no longer available.
+         *   An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
          *  You cannot specify accelerators from different generations in the same request.
          *   Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
          */
@@ -22932,7 +22938,7 @@ export namespace ec2 {
          *   
          *   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          *  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-         *   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+         *   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
          */
         instanceRequirements?: pulumi.Input<inputs.ec2.LaunchTemplateInstanceRequirementsArgs>;
         /**
@@ -22970,6 +22976,7 @@ export namespace ec2 {
          * The network interfaces for the instance.
          */
         networkInterfaces?: pulumi.Input<pulumi.Input<inputs.ec2.LaunchTemplateNetworkInterfaceArgs>[]>;
+        networkPerformanceOptions?: any;
         /**
          * The placement for the instance.
          */
@@ -22994,8 +23001,7 @@ export namespace ec2 {
          */
         securityGroups?: pulumi.Input<pulumi.Input<string>[]>;
         /**
-         * The tags to apply to the resources that are created during instance launch.
-         *  To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+         * The tags to apply to resources that are created during instance launch.
          *  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
          */
         tagSpecifications?: pulumi.Input<pulumi.Input<inputs.ec2.TagSpecificationArgs>[]>;
@@ -23031,7 +23037,7 @@ export namespace ec2 {
          */
         iops?: pulumi.Input<number>;
         /**
-         * The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+         * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
          */
         kmsKeyId?: pulumi.Input<string>;
         /**
@@ -23174,7 +23180,7 @@ export namespace ec2 {
      *   
      *   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
      *  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-     *   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+     *   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
      */
     export interface LaunchTemplateInstanceRequirementsArgs {
         /**
@@ -23221,7 +23227,6 @@ export namespace ec2 {
          * The accelerator types that must be on the instance type.
          *   +  For instance types with GPU accelerators, specify ``gpu``.
          *   +  For instance types with FPGA accelerators, specify ``fpga``.
-         *   +  For instance types with inference accelerators, specify ``inference``.
          *   
          *  Default: Any accelerator type
          */
@@ -23249,7 +23254,7 @@ export namespace ec2 {
          */
         baselineEbsBandwidthMbps?: pulumi.Input<inputs.ec2.LaunchTemplateBaselineEbsBandwidthMbpsArgs>;
         /**
-         * The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+         * The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
          */
         baselinePerformanceFactors?: pulumi.Input<inputs.ec2.LaunchTemplateBaselinePerformanceFactorsArgs>;
         /**
@@ -23266,6 +23271,7 @@ export namespace ec2 {
          *   +  For instance types with Intel CPUs, specify ``intel``.
          *   +  For instance types with AMD CPUs, specify ``amd``.
          *   +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+         *   +  For instance types with Apple CPUs, specify ``apple``.
          *   
          *   Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
          *   Default: Any manufacturer
@@ -23548,9 +23554,10 @@ export namespace ec2 {
          */
         groups?: pulumi.Input<pulumi.Input<string>[]>;
         /**
-         * The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+         * The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
          *  If you are not creating an EFA, specify ``interface`` or omit this parameter.
-         *  Valid values: ``interface`` | ``efa``
+         *  If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+         *  Valid values: ``interface`` | ``efa`` | ``efa-only``
          */
         interfaceType?: pulumi.Input<string>;
         /**
@@ -23698,9 +23705,6 @@ export namespace ec2 {
     }
 
     export interface LaunchTemplateReferenceArgs {
-        /**
-         * The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-         */
         instanceFamily?: pulumi.Input<string>;
     }
 
@@ -23753,6 +23757,7 @@ export namespace ec2 {
 
     /**
      * Specifies the tags to apply to the launch template during creation.
+     *  To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
      *   ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
      */
     export interface LaunchTemplateTagSpecificationArgs {
@@ -25034,7 +25039,7 @@ export namespace ec2 {
     }
 
     /**
-     * Specifies the tags to apply to a resource when the resource is created for the launch template.
+     * Specifies the tags to apply to resources that are created during instance launch.
      *   ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
      */
     export interface TagSpecificationArgs {
@@ -43504,9 +43509,12 @@ export namespace lambda {
         filters?: pulumi.Input<pulumi.Input<inputs.lambda.EventSourceMappingFilterArgs>[]>;
     }
 
+    /**
+     * The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+     */
     export interface EventSourceMappingMetricsConfigArgs {
         /**
-         * Metric groups to enable.
+         * The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
          */
         metrics?: pulumi.Input<pulumi.Input<enums.lambda.EventSourceMappingMetricsConfigMetricsItem>[]>;
     }
@@ -43517,13 +43525,15 @@ export namespace lambda {
     export interface EventSourceMappingOnFailureArgs {
         /**
          * The Amazon Resource Name (ARN) of the destination resource.
-         *  To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-         *  To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-         *  To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+         *  To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+         *  To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
          */
         destination?: pulumi.Input<string>;
     }
 
+    /**
+     * The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
+     */
     export interface EventSourceMappingProvisionedPollerConfigArgs {
         /**
          * The maximum number of event pollers this event source can scale up to.
@@ -53067,6 +53077,53 @@ export namespace qbusiness {
         qAppsControlMode: pulumi.Input<enums.qbusiness.ApplicationQAppsControlMode>;
     }
 
+    export interface ApplicationQuickSightConfigurationArgs {
+        clientNamespace: pulumi.Input<string>;
+    }
+
+    export interface DataAccessorActionConfigurationArgs {
+        action: pulumi.Input<string>;
+        filterConfiguration?: pulumi.Input<inputs.qbusiness.DataAccessorActionFilterConfigurationArgs>;
+    }
+
+    export interface DataAccessorActionFilterConfigurationArgs {
+        documentAttributeFilter: pulumi.Input<inputs.qbusiness.DataAccessorAttributeFilterArgs>;
+    }
+
+    export interface DataAccessorAttributeFilterArgs {
+        andAllFilters?: pulumi.Input<pulumi.Input<inputs.qbusiness.DataAccessorAttributeFilterArgs>[]>;
+        containsAll?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        containsAny?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        equalsTo?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        greaterThan?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        greaterThanOrEquals?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        lessThan?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        lessThanOrEquals?: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeArgs>;
+        notFilter?: pulumi.Input<inputs.qbusiness.DataAccessorAttributeFilterArgs>;
+        orAllFilters?: pulumi.Input<pulumi.Input<inputs.qbusiness.DataAccessorAttributeFilterArgs>[]>;
+    }
+
+    export interface DataAccessorDocumentAttributeArgs {
+        name: pulumi.Input<string>;
+        value: pulumi.Input<inputs.qbusiness.DataAccessorDocumentAttributeValue0PropertiesArgs | inputs.qbusiness.DataAccessorDocumentAttributeValue1PropertiesArgs | inputs.qbusiness.DataAccessorDocumentAttributeValue2PropertiesArgs | inputs.qbusiness.DataAccessorDocumentAttributeValue3PropertiesArgs>;
+    }
+
+    export interface DataAccessorDocumentAttributeValue0PropertiesArgs {
+        stringValue: pulumi.Input<string>;
+    }
+
+    export interface DataAccessorDocumentAttributeValue1PropertiesArgs {
+        stringListValue: pulumi.Input<pulumi.Input<string>[]>;
+    }
+
+    export interface DataAccessorDocumentAttributeValue2PropertiesArgs {
+        longValue: pulumi.Input<number>;
+    }
+
+    export interface DataAccessorDocumentAttributeValue3PropertiesArgs {
+        dateValue: pulumi.Input<string>;
+    }
+
     export interface DataSourceDocumentAttributeConditionArgs {
         /**
          * The identifier of the document attribute used for the condition.
@@ -53157,6 +53214,10 @@ export namespace qbusiness {
         s3BucketName?: pulumi.Input<string>;
     }
 
+    export interface DataSourceImageExtractionConfigurationArgs {
+        imageExtractionStatus: pulumi.Input<enums.qbusiness.DataSourceImageExtractionStatus>;
+    }
+
     export interface DataSourceInlineDocumentEnrichmentConfigurationArgs {
         /**
          * Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Q Business .
@@ -53172,6 +53233,10 @@ export namespace qbusiness {
         target?: pulumi.Input<inputs.qbusiness.DataSourceDocumentAttributeTargetArgs>;
     }
 
+    export interface DataSourceMediaExtractionConfigurationArgs {
+        imageExtractionConfiguration?: pulumi.Input<inputs.qbusiness.DataSourceImageExtractionConfigurationArgs>;
+    }
+
     export interface DataSourceVpcConfigurationArgs {
         /**
          * A list of identifiers of security groups within your Amazon VPC. The security groups should enable Amazon Q Business to connect to the data source.
@@ -53249,8 +53314,10 @@ export namespace qbusiness {
     }
 
     export interface PluginOAuth2ClientCredentialConfigurationArgs {
+        authorizationUrl?: pulumi.Input<string>;
         roleArn: pulumi.Input<string>;
         secretArn: pulumi.Input<string>;
+        tokenUrl?: pulumi.Input<string>;
     }
 
     export interface PluginS3Args {
@@ -53274,6 +53341,13 @@ export namespace qbusiness {
         indexId: pulumi.Input<string>;
     }
 
+    export interface WebExperienceCustomizationConfigurationArgs {
+        customCssUrl?: pulumi.Input<string>;
+        faviconUrl?: pulumi.Input<string>;
+        fontUrl?: pulumi.Input<string>;
+        logoUrl?: pulumi.Input<string>;
+    }
+
     export interface WebExperienceIdentityProviderConfiguration0PropertiesArgs {
         samlConfiguration: pulumi.Input<inputs.qbusiness.WebExperienceSamlProviderConfigurationArgs>;
     }
@@ -88564,6 +88638,30 @@ export namespace sagemaker {
         maxParallelExecutionSteps: pulumi.Input<number>;
     }
 
+    /**
+     * A collection of configuration settings for the PartnerApp.
+     */
+    export interface PartnerAppConfigArgs {
+        /**
+         * A list of users with administrator privileges for the PartnerApp.
+         */
+        adminUsers?: pulumi.Input<pulumi.Input<string>[]>;
+        /**
+         * A list of arguments to pass to the PartnerApp.
+         */
+        arguments?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
+    }
+
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    export interface PartnerAppMaintenanceConfigArgs {
+        /**
+         * The maintenance window start day and time for the PartnerApp.
+         */
+        maintenanceWindowStart: pulumi.Input<string>;
+    }
+
     /**
      * The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.
      */
diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts
index 52c5d495b7..07ed13d707 100644
--- a/sdk/nodejs/types/output.ts
+++ b/sdk/nodejs/types/output.ts
@@ -23545,6 +23545,10 @@ export namespace ec2 {
         min?: number;
     }
 
+    /**
+     * The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+     *  Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
+     */
     export interface LaunchTemplateBaselinePerformanceFactors {
         /**
          * The CPU performance to consider, using an instance family as the baseline reference.
@@ -23582,7 +23586,8 @@ export namespace ec2 {
     export interface LaunchTemplateCapacityReservationSpecification {
         /**
          * Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-         *   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+         *   +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+         *   +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
          *   +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
          */
         capacityReservationPreference?: string;
@@ -23699,7 +23704,8 @@ export namespace ec2 {
          */
         elasticGpuSpecifications?: outputs.ec2.LaunchTemplateElasticGpuSpecification[];
         /**
-         * An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+         * Amazon Elastic Inference is no longer available.
+         *   An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
          *  You cannot specify accelerators from different generations in the same request.
          *   Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
          */
@@ -23747,7 +23753,7 @@ export namespace ec2 {
          *   
          *   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          *  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-         *   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+         *   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
          */
         instanceRequirements?: outputs.ec2.LaunchTemplateInstanceRequirements;
         /**
@@ -23785,6 +23791,7 @@ export namespace ec2 {
          * The network interfaces for the instance.
          */
         networkInterfaces?: outputs.ec2.LaunchTemplateNetworkInterface[];
+        networkPerformanceOptions?: any;
         /**
          * The placement for the instance.
          */
@@ -23809,8 +23816,7 @@ export namespace ec2 {
          */
         securityGroups?: string[];
         /**
-         * The tags to apply to the resources that are created during instance launch.
-         *  To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+         * The tags to apply to resources that are created during instance launch.
          *  To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
          */
         tagSpecifications?: outputs.ec2.TagSpecification[];
@@ -23846,7 +23852,7 @@ export namespace ec2 {
          */
         iops?: number;
         /**
-         * The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+         * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
          */
         kmsKeyId?: string;
         /**
@@ -23989,7 +23995,7 @@ export namespace ec2 {
      *   
      *   If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
      *  Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-     *   For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+     *   For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
      */
     export interface LaunchTemplateInstanceRequirements {
         /**
@@ -24036,7 +24042,6 @@ export namespace ec2 {
          * The accelerator types that must be on the instance type.
          *   +  For instance types with GPU accelerators, specify ``gpu``.
          *   +  For instance types with FPGA accelerators, specify ``fpga``.
-         *   +  For instance types with inference accelerators, specify ``inference``.
          *   
          *  Default: Any accelerator type
          */
@@ -24064,7 +24069,7 @@ export namespace ec2 {
          */
         baselineEbsBandwidthMbps?: outputs.ec2.LaunchTemplateBaselineEbsBandwidthMbps;
         /**
-         * The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+         * The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
          */
         baselinePerformanceFactors?: outputs.ec2.LaunchTemplateBaselinePerformanceFactors;
         /**
@@ -24081,6 +24086,7 @@ export namespace ec2 {
          *   +  For instance types with Intel CPUs, specify ``intel``.
          *   +  For instance types with AMD CPUs, specify ``amd``.
          *   +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+         *   +  For instance types with Apple CPUs, specify ``apple``.
          *   
          *   Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
          *   Default: Any manufacturer
@@ -24363,9 +24369,10 @@ export namespace ec2 {
          */
         groups?: string[];
         /**
-         * The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+         * The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
          *  If you are not creating an EFA, specify ``interface`` or omit this parameter.
-         *  Valid values: ``interface`` | ``efa``
+         *  If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+         *  Valid values: ``interface`` | ``efa`` | ``efa-only``
          */
         interfaceType?: string;
         /**
@@ -24513,9 +24520,6 @@ export namespace ec2 {
     }
 
     export interface LaunchTemplateReference {
-        /**
-         * The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-         */
         instanceFamily?: string;
     }
 
@@ -24568,6 +24572,7 @@ export namespace ec2 {
 
     /**
      * Specifies the tags to apply to the launch template during creation.
+     *  To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
      *   ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
      */
     export interface LaunchTemplateTagSpecification {
@@ -26380,7 +26385,7 @@ export namespace ec2 {
     }
 
     /**
-     * Specifies the tags to apply to a resource when the resource is created for the launch template.
+     * Specifies the tags to apply to resources that are created during instance launch.
      *   ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
      */
     export interface TagSpecification {
@@ -44983,9 +44988,12 @@ export namespace lambda {
         filters?: outputs.lambda.EventSourceMappingFilter[];
     }
 
+    /**
+     * The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+     */
     export interface EventSourceMappingMetricsConfig {
         /**
-         * Metric groups to enable.
+         * The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
          */
         metrics?: enums.lambda.EventSourceMappingMetricsConfigMetricsItem[];
     }
@@ -44996,13 +45004,15 @@ export namespace lambda {
     export interface EventSourceMappingOnFailure {
         /**
          * The Amazon Resource Name (ARN) of the destination resource.
-         *  To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-         *  To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-         *  To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+         *  To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+         *  To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
          */
         destination?: string;
     }
 
+    /**
+     * The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
+     */
     export interface EventSourceMappingProvisionedPollerConfig {
         /**
          * The maximum number of event pollers this event source can scale up to.
@@ -54837,6 +54847,53 @@ export namespace qbusiness {
         qAppsControlMode: enums.qbusiness.ApplicationQAppsControlMode;
     }
 
+    export interface ApplicationQuickSightConfiguration {
+        clientNamespace: string;
+    }
+
+    export interface DataAccessorActionConfiguration {
+        action: string;
+        filterConfiguration?: outputs.qbusiness.DataAccessorActionFilterConfiguration;
+    }
+
+    export interface DataAccessorActionFilterConfiguration {
+        documentAttributeFilter: outputs.qbusiness.DataAccessorAttributeFilter;
+    }
+
+    export interface DataAccessorAttributeFilter {
+        andAllFilters?: outputs.qbusiness.DataAccessorAttributeFilter[];
+        containsAll?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        containsAny?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        equalsTo?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        greaterThan?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        greaterThanOrEquals?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        lessThan?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        lessThanOrEquals?: outputs.qbusiness.DataAccessorDocumentAttribute;
+        notFilter?: outputs.qbusiness.DataAccessorAttributeFilter;
+        orAllFilters?: outputs.qbusiness.DataAccessorAttributeFilter[];
+    }
+
+    export interface DataAccessorDocumentAttribute {
+        name: string;
+        value: outputs.qbusiness.DataAccessorDocumentAttributeValue0Properties | outputs.qbusiness.DataAccessorDocumentAttributeValue1Properties | outputs.qbusiness.DataAccessorDocumentAttributeValue2Properties | outputs.qbusiness.DataAccessorDocumentAttributeValue3Properties;
+    }
+
+    export interface DataAccessorDocumentAttributeValue0Properties {
+        stringValue: string;
+    }
+
+    export interface DataAccessorDocumentAttributeValue1Properties {
+        stringListValue: string[];
+    }
+
+    export interface DataAccessorDocumentAttributeValue2Properties {
+        longValue: number;
+    }
+
+    export interface DataAccessorDocumentAttributeValue3Properties {
+        dateValue: string;
+    }
+
     export interface DataSourceDocumentAttributeCondition {
         /**
          * The identifier of the document attribute used for the condition.
@@ -54927,6 +54984,10 @@ export namespace qbusiness {
         s3BucketName?: string;
     }
 
+    export interface DataSourceImageExtractionConfiguration {
+        imageExtractionStatus: enums.qbusiness.DataSourceImageExtractionStatus;
+    }
+
     export interface DataSourceInlineDocumentEnrichmentConfiguration {
         /**
          * Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Q Business .
@@ -54942,6 +55003,10 @@ export namespace qbusiness {
         target?: outputs.qbusiness.DataSourceDocumentAttributeTarget;
     }
 
+    export interface DataSourceMediaExtractionConfiguration {
+        imageExtractionConfiguration?: outputs.qbusiness.DataSourceImageExtractionConfiguration;
+    }
+
     export interface DataSourceVpcConfiguration {
         /**
          * A list of identifiers of security groups within your Amazon VPC. The security groups should enable Amazon Q Business to connect to the data source.
@@ -55037,8 +55102,10 @@ export namespace qbusiness {
     }
 
     export interface PluginOAuth2ClientCredentialConfiguration {
+        authorizationUrl?: string;
         roleArn: string;
         secretArn: string;
+        tokenUrl?: string;
     }
 
     export interface PluginS3 {
@@ -55062,6 +55129,13 @@ export namespace qbusiness {
         indexId: string;
     }
 
+    export interface WebExperienceCustomizationConfiguration {
+        customCssUrl?: string;
+        faviconUrl?: string;
+        fontUrl?: string;
+        logoUrl?: string;
+    }
+
     export interface WebExperienceIdentityProviderConfiguration0Properties {
         samlConfiguration: outputs.qbusiness.WebExperienceSamlProviderConfiguration;
     }
@@ -90979,6 +91053,30 @@ export namespace sagemaker {
         maxParallelExecutionSteps: number;
     }
 
+    /**
+     * A collection of configuration settings for the PartnerApp.
+     */
+    export interface PartnerAppConfig {
+        /**
+         * A list of users with administrator privileges for the PartnerApp.
+         */
+        adminUsers?: string[];
+        /**
+         * A list of arguments to pass to the PartnerApp.
+         */
+        arguments?: {[key: string]: string};
+    }
+
+    /**
+     * A collection of settings that specify the maintenance schedule for the PartnerApp.
+     */
+    export interface PartnerAppMaintenanceConfig {
+        /**
+         * The maintenance window start day and time for the PartnerApp.
+         */
+        maintenanceWindowStart: string;
+    }
+
     /**
      * The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.
      */
diff --git a/sdk/nodejs/wisdom/aiGuardrail.ts b/sdk/nodejs/wisdom/aiGuardrail.ts
index c6c76d3d3f..7c4ab178ff 100644
--- a/sdk/nodejs/wisdom/aiGuardrail.ts
+++ b/sdk/nodejs/wisdom/aiGuardrail.ts
@@ -37,9 +37,21 @@ export class AiGuardrail extends pulumi.CustomResource {
         return obj['__pulumiType'] === AiGuardrail.__pulumiType;
     }
 
+    /**
+     * The Amazon Resource Name (ARN) of the AI Guardrail.
+     */
     public /*out*/ readonly aiGuardrailArn!: pulumi.Output<string>;
+    /**
+     * The identifier of the Amazon Q in Connect AI Guardrail.
+     */
     public /*out*/ readonly aiGuardrailId!: pulumi.Output<string>;
+    /**
+     * The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+     */
     public /*out*/ readonly assistantArn!: pulumi.Output<string>;
+    /**
+     * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+     */
     public readonly assistantId!: pulumi.Output<string>;
     /**
      * Messaging for when violations are detected in text
@@ -49,16 +61,37 @@ export class AiGuardrail extends pulumi.CustomResource {
      * Messaging for when violations are detected in text
      */
     public readonly blockedOutputsMessaging!: pulumi.Output<string>;
+    /**
+     * Contains details about how to handle harmful content.
+     */
     public readonly contentPolicyConfig!: pulumi.Output<outputs.wisdom.AiGuardrailAiGuardrailContentPolicyConfig | undefined>;
+    /**
+     * The policy configuration details for the AI Guardrail's contextual grounding policy.
+     */
     public readonly contextualGroundingPolicyConfig!: pulumi.Output<outputs.wisdom.AiGuardrailAiGuardrailContextualGroundingPolicyConfig | undefined>;
     /**
      * Description of the guardrail or its version
      */
     public readonly description!: pulumi.Output<string | undefined>;
+    /**
+     * The name of the AI Guardrail.
+     */
     public readonly name!: pulumi.Output<string | undefined>;
+    /**
+     * Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+     */
     public readonly sensitiveInformationPolicyConfig!: pulumi.Output<outputs.wisdom.AiGuardrailAiGuardrailSensitiveInformationPolicyConfig | undefined>;
+    /**
+     * The tags used to organize, track, or control access for this resource.
+     */
     public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>;
+    /**
+     * Contains details about topics that the AI Guardrail should identify and deny.
+     */
     public readonly topicPolicyConfig!: pulumi.Output<outputs.wisdom.AiGuardrailAiGuardrailTopicPolicyConfig | undefined>;
+    /**
+     * Contains details about the word policy to configured for the AI Guardrail.
+     */
     public readonly wordPolicyConfig!: pulumi.Output<outputs.wisdom.AiGuardrailAiGuardrailWordPolicyConfig | undefined>;
 
     /**
@@ -122,6 +155,9 @@ export class AiGuardrail extends pulumi.CustomResource {
  * The set of arguments for constructing a AiGuardrail resource.
  */
 export interface AiGuardrailArgs {
+    /**
+     * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+     */
     assistantId: pulumi.Input<string>;
     /**
      * Messaging for when violations are detected in text
@@ -131,15 +167,36 @@ export interface AiGuardrailArgs {
      * Messaging for when violations are detected in text
      */
     blockedOutputsMessaging: pulumi.Input<string>;
+    /**
+     * Contains details about how to handle harmful content.
+     */
     contentPolicyConfig?: pulumi.Input<inputs.wisdom.AiGuardrailAiGuardrailContentPolicyConfigArgs>;
+    /**
+     * The policy configuration details for the AI Guardrail's contextual grounding policy.
+     */
     contextualGroundingPolicyConfig?: pulumi.Input<inputs.wisdom.AiGuardrailAiGuardrailContextualGroundingPolicyConfigArgs>;
     /**
      * Description of the guardrail or its version
      */
     description?: pulumi.Input<string>;
+    /**
+     * The name of the AI Guardrail.
+     */
     name?: pulumi.Input<string>;
+    /**
+     * Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+     */
     sensitiveInformationPolicyConfig?: pulumi.Input<inputs.wisdom.AiGuardrailAiGuardrailSensitiveInformationPolicyConfigArgs>;
+    /**
+     * The tags used to organize, track, or control access for this resource.
+     */
     tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
+    /**
+     * Contains details about topics that the AI Guardrail should identify and deny.
+     */
     topicPolicyConfig?: pulumi.Input<inputs.wisdom.AiGuardrailAiGuardrailTopicPolicyConfigArgs>;
+    /**
+     * Contains details about the word policy to configured for the AI Guardrail.
+     */
     wordPolicyConfig?: pulumi.Input<inputs.wisdom.AiGuardrailAiGuardrailWordPolicyConfigArgs>;
 }
diff --git a/sdk/nodejs/wisdom/aiGuardrailVersion.ts b/sdk/nodejs/wisdom/aiGuardrailVersion.ts
index dd29b4c4e9..f0931c85ff 100644
--- a/sdk/nodejs/wisdom/aiGuardrailVersion.ts
+++ b/sdk/nodejs/wisdom/aiGuardrailVersion.ts
@@ -40,6 +40,9 @@ export class AiGuardrailVersion extends pulumi.CustomResource {
     public /*out*/ readonly assistantArn!: pulumi.Output<string>;
     public readonly assistantId!: pulumi.Output<string>;
     public readonly modifiedTimeSeconds!: pulumi.Output<number | undefined>;
+    /**
+     * The version number for this AI Guardrail version.
+     */
     public /*out*/ readonly versionNumber!: pulumi.Output<number>;
 
     /**
diff --git a/sdk/nodejs/wisdom/getAiGuardrail.ts b/sdk/nodejs/wisdom/getAiGuardrail.ts
index 3e43e0c5e9..6f8099e093 100644
--- a/sdk/nodejs/wisdom/getAiGuardrail.ts
+++ b/sdk/nodejs/wisdom/getAiGuardrail.ts
@@ -19,13 +19,28 @@ export function getAiGuardrail(args: GetAiGuardrailArgs, opts?: pulumi.InvokeOpt
 }
 
 export interface GetAiGuardrailArgs {
+    /**
+     * The identifier of the Amazon Q in Connect AI Guardrail.
+     */
     aiGuardrailId: string;
+    /**
+     * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+     */
     assistantId: string;
 }
 
 export interface GetAiGuardrailResult {
+    /**
+     * The Amazon Resource Name (ARN) of the AI Guardrail.
+     */
     readonly aiGuardrailArn?: string;
+    /**
+     * The identifier of the Amazon Q in Connect AI Guardrail.
+     */
     readonly aiGuardrailId?: string;
+    /**
+     * The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+     */
     readonly assistantArn?: string;
     /**
      * Messaging for when violations are detected in text
@@ -35,14 +50,29 @@ export interface GetAiGuardrailResult {
      * Messaging for when violations are detected in text
      */
     readonly blockedOutputsMessaging?: string;
+    /**
+     * Contains details about how to handle harmful content.
+     */
     readonly contentPolicyConfig?: outputs.wisdom.AiGuardrailAiGuardrailContentPolicyConfig;
+    /**
+     * The policy configuration details for the AI Guardrail's contextual grounding policy.
+     */
     readonly contextualGroundingPolicyConfig?: outputs.wisdom.AiGuardrailAiGuardrailContextualGroundingPolicyConfig;
     /**
      * Description of the guardrail or its version
      */
     readonly description?: string;
+    /**
+     * Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+     */
     readonly sensitiveInformationPolicyConfig?: outputs.wisdom.AiGuardrailAiGuardrailSensitiveInformationPolicyConfig;
+    /**
+     * Contains details about topics that the AI Guardrail should identify and deny.
+     */
     readonly topicPolicyConfig?: outputs.wisdom.AiGuardrailAiGuardrailTopicPolicyConfig;
+    /**
+     * Contains details about the word policy to configured for the AI Guardrail.
+     */
     readonly wordPolicyConfig?: outputs.wisdom.AiGuardrailAiGuardrailWordPolicyConfig;
 }
 /**
@@ -57,6 +87,12 @@ export function getAiGuardrailOutput(args: GetAiGuardrailOutputArgs, opts?: pulu
 }
 
 export interface GetAiGuardrailOutputArgs {
+    /**
+     * The identifier of the Amazon Q in Connect AI Guardrail.
+     */
     aiGuardrailId: pulumi.Input<string>;
+    /**
+     * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+     */
     assistantId: pulumi.Input<string>;
 }
diff --git a/sdk/nodejs/wisdom/getAiGuardrailVersion.ts b/sdk/nodejs/wisdom/getAiGuardrailVersion.ts
index 82d273cf0b..bf8f3289bc 100644
--- a/sdk/nodejs/wisdom/getAiGuardrailVersion.ts
+++ b/sdk/nodejs/wisdom/getAiGuardrailVersion.ts
@@ -19,6 +19,9 @@ export function getAiGuardrailVersion(args: GetAiGuardrailVersionArgs, opts?: pu
 export interface GetAiGuardrailVersionArgs {
     aiGuardrailId: string;
     assistantId: string;
+    /**
+     * The version number for this AI Guardrail version.
+     */
     versionNumber: number;
 }
 
@@ -26,6 +29,9 @@ export interface GetAiGuardrailVersionResult {
     readonly aiGuardrailArn?: string;
     readonly aiGuardrailVersionId?: string;
     readonly assistantArn?: string;
+    /**
+     * The version number for this AI Guardrail version.
+     */
     readonly versionNumber?: number;
 }
 /**
@@ -43,5 +49,8 @@ export function getAiGuardrailVersionOutput(args: GetAiGuardrailVersionOutputArg
 export interface GetAiGuardrailVersionOutputArgs {
     aiGuardrailId: pulumi.Input<string>;
     assistantId: pulumi.Input<string>;
+    /**
+     * The version number for this AI Guardrail version.
+     */
     versionNumber: pulumi.Input<number>;
 }
diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py
index 615c1b786c..cada67ec1a 100644
--- a/sdk/python/pulumi_aws_native/__init__.py
+++ b/sdk/python/pulumi_aws_native/__init__.py
@@ -2651,8 +2651,10 @@
   "fqn": "pulumi_aws_native.qbusiness",
   "classes": {
    "aws-native:qbusiness:Application": "Application",
+   "aws-native:qbusiness:DataAccessor": "DataAccessor",
    "aws-native:qbusiness:DataSource": "DataSource",
    "aws-native:qbusiness:Index": "Index",
+   "aws-native:qbusiness:Permission": "Permission",
    "aws-native:qbusiness:Plugin": "Plugin",
    "aws-native:qbusiness:Retriever": "Retriever",
    "aws-native:qbusiness:WebExperience": "WebExperience"
@@ -2957,6 +2959,7 @@
    "aws-native:sagemaker:ModelPackageGroup": "ModelPackageGroup",
    "aws-native:sagemaker:ModelQualityJobDefinition": "ModelQualityJobDefinition",
    "aws-native:sagemaker:MonitoringSchedule": "MonitoringSchedule",
+   "aws-native:sagemaker:PartnerApp": "PartnerApp",
    "aws-native:sagemaker:Pipeline": "Pipeline",
    "aws-native:sagemaker:Project": "Project",
    "aws-native:sagemaker:Space": "Space",
diff --git a/sdk/python/pulumi_aws_native/amazonmq/configuration.py b/sdk/python/pulumi_aws_native/amazonmq/configuration.py
index 1799ee3fb9..ed9b7a52ab 100644
--- a/sdk/python/pulumi_aws_native/amazonmq/configuration.py
+++ b/sdk/python/pulumi_aws_native/amazonmq/configuration.py
@@ -21,27 +21,28 @@
 @pulumi.input_type
 class ConfigurationArgs:
     def __init__(__self__, *,
-                 data: pulumi.Input[str],
                  engine_type: pulumi.Input[str],
                  authentication_strategy: Optional[pulumi.Input[str]] = None,
+                 data: Optional[pulumi.Input[str]] = None,
                  description: Optional[pulumi.Input[str]] = None,
                  engine_version: Optional[pulumi.Input[str]] = None,
                  name: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None):
         """
         The set of arguments for constructing a Configuration resource.
-        :param pulumi.Input[str] data: The base64-encoded XML configuration.
         :param pulumi.Input[str] engine_type: The type of broker engine. Note: Currently, Amazon MQ only supports ACTIVEMQ for creating and editing broker configurations.
         :param pulumi.Input[str] authentication_strategy: The authentication strategy associated with the configuration. The default is SIMPLE.
+        :param pulumi.Input[str] data: The base64-encoded XML configuration.
         :param pulumi.Input[str] description: The description of the configuration.
         :param pulumi.Input[str] engine_version: The version of the broker engine.
         :param pulumi.Input[str] name: The name of the configuration.
         :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Create tags when creating the configuration.
         """
-        pulumi.set(__self__, "data", data)
         pulumi.set(__self__, "engine_type", engine_type)
         if authentication_strategy is not None:
             pulumi.set(__self__, "authentication_strategy", authentication_strategy)
+        if data is not None:
+            pulumi.set(__self__, "data", data)
         if description is not None:
             pulumi.set(__self__, "description", description)
         if engine_version is not None:
@@ -51,18 +52,6 @@ def __init__(__self__, *,
         if tags is not None:
             pulumi.set(__self__, "tags", tags)
 
-    @property
-    @pulumi.getter
-    def data(self) -> pulumi.Input[str]:
-        """
-        The base64-encoded XML configuration.
-        """
-        return pulumi.get(self, "data")
-
-    @data.setter
-    def data(self, value: pulumi.Input[str]):
-        pulumi.set(self, "data", value)
-
     @property
     @pulumi.getter(name="engineType")
     def engine_type(self) -> pulumi.Input[str]:
@@ -87,6 +76,18 @@ def authentication_strategy(self) -> Optional[pulumi.Input[str]]:
     def authentication_strategy(self, value: Optional[pulumi.Input[str]]):
         pulumi.set(self, "authentication_strategy", value)
 
+    @property
+    @pulumi.getter
+    def data(self) -> Optional[pulumi.Input[str]]:
+        """
+        The base64-encoded XML configuration.
+        """
+        return pulumi.get(self, "data")
+
+    @data.setter
+    def data(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "data", value)
+
     @property
     @pulumi.getter
     def description(self) -> Optional[pulumi.Input[str]]:
@@ -267,8 +268,6 @@ def _internal_init(__self__,
             __props__ = ConfigurationArgs.__new__(ConfigurationArgs)
 
             __props__.__dict__["authentication_strategy"] = authentication_strategy
-            if data is None and not opts.urn:
-                raise TypeError("Missing required property 'data'")
             __props__.__dict__["data"] = data
             __props__.__dict__["description"] = description
             if engine_type is None and not opts.urn:
@@ -342,7 +341,7 @@ def aws_id(self) -> pulumi.Output[str]:
 
     @property
     @pulumi.getter
-    def data(self) -> pulumi.Output[str]:
+    def data(self) -> pulumi.Output[Optional[str]]:
         """
         The base64-encoded XML configuration.
         """
diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py
index 30765c3d4c..77d1dad358 100644
--- a/sdk/python/pulumi_aws_native/ec2/_inputs.py
+++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py
@@ -5167,6 +5167,10 @@ def min(self, value: Optional[pulumi.Input[int]]):
 
 if not MYPY:
     class LaunchTemplateBaselinePerformanceFactorsArgsDict(TypedDict):
+        """
+        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+         Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
+        """
         cpu: NotRequired[pulumi.Input['LaunchTemplateCpuArgsDict']]
         """
         The CPU performance to consider, using an instance family as the baseline reference.
@@ -5179,6 +5183,8 @@ class LaunchTemplateBaselinePerformanceFactorsArgs:
     def __init__(__self__, *,
                  cpu: Optional[pulumi.Input['LaunchTemplateCpuArgs']] = None):
         """
+        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+         Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
         :param pulumi.Input['LaunchTemplateCpuArgs'] cpu: The CPU performance to consider, using an instance family as the baseline reference.
         """
         if cpu is not None:
@@ -5304,7 +5310,8 @@ class LaunchTemplateCapacityReservationSpecificationArgsDict(TypedDict):
         capacity_reservation_preference: NotRequired[pulumi.Input[str]]
         """
         Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-          +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+          +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+          +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
           +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         """
         capacity_reservation_target: NotRequired[pulumi.Input['LaunchTemplateCapacityReservationTargetArgsDict']]
@@ -5323,7 +5330,8 @@ def __init__(__self__, *,
         Specifies an instance's Capacity Reservation targeting option. You can specify only one option at a time.
           ``CapacityReservationSpecification`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
         :param pulumi.Input[str] capacity_reservation_preference: Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-                 +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+                 +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+                 +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
                  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         :param pulumi.Input['LaunchTemplateCapacityReservationTargetArgs'] capacity_reservation_target: Information about the target Capacity Reservation or Capacity Reservation group.
         """
@@ -5337,7 +5345,8 @@ def __init__(__self__, *,
     def capacity_reservation_preference(self) -> Optional[pulumi.Input[str]]:
         """
         Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-          +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+          +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+          +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
           +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         """
         return pulumi.get(self, "capacity_reservation_preference")
@@ -5676,7 +5685,8 @@ class LaunchTemplateDataArgsDict(TypedDict):
         """
         elastic_inference_accelerators: NotRequired[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgsDict']]]]
         """
-        An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        Amazon Elastic Inference is no longer available.
+          An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
          You cannot specify accelerators from different generations in the same request.
           Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         """
@@ -5724,7 +5734,7 @@ class LaunchTemplateDataArgsDict(TypedDict):
           
           If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-          For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+          For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         """
         instance_type: NotRequired[pulumi.Input[str]]
         """
@@ -5761,6 +5771,7 @@ class LaunchTemplateDataArgsDict(TypedDict):
         """
         The network interfaces for the instance.
         """
+        network_performance_options: NotRequired[Any]
         placement: NotRequired[pulumi.Input['LaunchTemplatePlacementArgsDict']]
         """
         The placement for the instance.
@@ -5786,8 +5797,7 @@ class LaunchTemplateDataArgsDict(TypedDict):
         """
         tag_specifications: NotRequired[pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgsDict']]]]
         """
-        The tags to apply to the resources that are created during instance launch.
-         To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        The tags to apply to resources that are created during instance launch.
          To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         """
         user_data: NotRequired[pulumi.Input[str]]
@@ -5825,6 +5835,7 @@ def __init__(__self__, *,
                  metadata_options: Optional[pulumi.Input['LaunchTemplateMetadataOptionsArgs']] = None,
                  monitoring: Optional[pulumi.Input['LaunchTemplateMonitoringArgs']] = None,
                  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateNetworkInterfaceArgs']]]] = None,
+                 network_performance_options: Optional[Any] = None,
                  placement: Optional[pulumi.Input['LaunchTemplatePlacementArgs']] = None,
                  private_dns_name_options: Optional[pulumi.Input['LaunchTemplatePrivateDnsNameOptionsArgs']] = None,
                  ram_disk_id: Optional[pulumi.Input[str]] = None,
@@ -5844,7 +5855,8 @@ def __init__(__self__, *,
         :param pulumi.Input[bool] ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
         :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticGpuSpecificationArgs']]] elastic_gpu_specifications: Deprecated.
                  Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
-        :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgs']]] elastic_inference_accelerators: An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgs']]] elastic_inference_accelerators: Amazon Elastic Inference is no longer available.
+                 An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
                 You cannot specify accelerators from different generations in the same request.
                  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         :param pulumi.Input['LaunchTemplateEnclaveOptionsArgs'] enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *Nitro Enclaves User Guide*.
@@ -5871,7 +5883,7 @@ def __init__(__self__, *,
                  
                  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
                 Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-                 For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+                 For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         :param pulumi.Input[str] instance_type: The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.
                 If you specify ``InstanceType``, you can't specify ``InstanceRequirements``.
         :param pulumi.Input[str] kernel_id: The ID of the kernel.
@@ -5891,8 +5903,7 @@ def __init__(__self__, *,
                 If you specify a network interface, you must specify any security groups as part of the network interface instead.
         :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The names of the security groups. For a nondefault VPC, you must use security group IDs instead.
                 If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
-        :param pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgs']]] tag_specifications: The tags to apply to the resources that are created during instance launch.
-                To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        :param pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgs']]] tag_specifications: The tags to apply to resources that are created during instance launch.
                 To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         :param pulumi.Input[str] user_data: The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*.
                 If you are creating the launch template for use with BATCH, the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive). For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *User Guide*.
@@ -5945,6 +5956,8 @@ def __init__(__self__, *,
             pulumi.set(__self__, "monitoring", monitoring)
         if network_interfaces is not None:
             pulumi.set(__self__, "network_interfaces", network_interfaces)
+        if network_performance_options is not None:
+            pulumi.set(__self__, "network_performance_options", network_performance_options)
         if placement is not None:
             pulumi.set(__self__, "placement", placement)
         if private_dns_name_options is not None:
@@ -6061,7 +6074,8 @@ def elastic_gpu_specifications(self, value: Optional[pulumi.Input[Sequence[pulum
     @pulumi.getter(name="elasticInferenceAccelerators")
     def elastic_inference_accelerators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgs']]]]:
         """
-        An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        Amazon Elastic Inference is no longer available.
+          An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
          You cannot specify accelerators from different generations in the same request.
           Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         """
@@ -6165,7 +6179,7 @@ def instance_requirements(self) -> Optional[pulumi.Input['LaunchTemplateInstance
           
           If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-          For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+          For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         """
         return pulumi.get(self, "instance_requirements")
 
@@ -6272,6 +6286,15 @@ def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Lau
     def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateNetworkInterfaceArgs']]]]):
         pulumi.set(self, "network_interfaces", value)
 
+    @property
+    @pulumi.getter(name="networkPerformanceOptions")
+    def network_performance_options(self) -> Optional[Any]:
+        return pulumi.get(self, "network_performance_options")
+
+    @network_performance_options.setter
+    def network_performance_options(self, value: Optional[Any]):
+        pulumi.set(self, "network_performance_options", value)
+
     @property
     @pulumi.getter
     def placement(self) -> Optional[pulumi.Input['LaunchTemplatePlacementArgs']]:
@@ -6339,8 +6362,7 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str
     @pulumi.getter(name="tagSpecifications")
     def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgs']]]]:
         """
-        The tags to apply to the resources that are created during instance launch.
-         To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        The tags to apply to resources that are created during instance launch.
          To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         """
         return pulumi.get(self, "tag_specifications")
@@ -6390,7 +6412,7 @@ class LaunchTemplateEbsArgsDict(TypedDict):
         """
         kms_key_id: NotRequired[pulumi.Input[str]]
         """
-        The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         """
         snapshot_id: NotRequired[pulumi.Input[str]]
         """
@@ -6441,7 +6463,7 @@ def __init__(__self__, *,
                  
                 For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
                 This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only.
-        :param pulumi.Input[str] kms_key_id: The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        :param pulumi.Input[str] kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         :param pulumi.Input[str] snapshot_id: The ID of the snapshot.
         :param pulumi.Input[int] throughput: The throughput to provision for a ``gp3`` volume, with a maximum of 1,000 MiB/s.
                 Valid Range: Minimum value of 125. Maximum value of 1000.
@@ -6517,7 +6539,7 @@ def iops(self, value: Optional[pulumi.Input[int]]):
     @pulumi.getter(name="kmsKeyId")
     def kms_key_id(self) -> Optional[pulumi.Input[str]]:
         """
-        The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         """
         return pulumi.get(self, "kms_key_id")
 
@@ -6982,7 +7004,7 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict):
           
           If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-          For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+          For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         """
         accelerator_count: NotRequired[pulumi.Input['LaunchTemplateAcceleratorCountArgsDict']]
         """
@@ -7029,7 +7051,6 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict):
         The accelerator types that must be on the instance type.
           +  For instance types with GPU accelerators, specify ``gpu``.
           +  For instance types with FPGA accelerators, specify ``fpga``.
-          +  For instance types with inference accelerators, specify ``inference``.
           
          Default: Any accelerator type
         """
@@ -7057,7 +7078,7 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict):
         """
         baseline_performance_factors: NotRequired[pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgsDict']]
         """
-        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         """
         burstable_performance: NotRequired[pulumi.Input[str]]
         """
@@ -7074,6 +7095,7 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict):
           +  For instance types with Intel CPUs, specify ``intel``.
           +  For instance types with AMD CPUs, specify ``amd``.
           +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+          +  For instance types with Apple CPUs, specify ``apple``.
           
           Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
           Default: Any manufacturer
@@ -7210,7 +7232,7 @@ def __init__(__self__, *,
           
           If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-          For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+          For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         :param pulumi.Input['LaunchTemplateAcceleratorCountArgs'] accelerator_count: The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
                 To exclude accelerator-enabled instance types, set ``Max`` to ``0``.
                 Default: No minimum or maximum limits
@@ -7242,7 +7264,6 @@ def __init__(__self__, *,
         :param pulumi.Input[Sequence[pulumi.Input[str]]] accelerator_types: The accelerator types that must be on the instance type.
                  +  For instance types with GPU accelerators, specify ``gpu``.
                  +  For instance types with FPGA accelerators, specify ``fpga``.
-                 +  For instance types with inference accelerators, specify ``inference``.
                  
                 Default: Any accelerator type
         :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.
@@ -7258,7 +7279,7 @@ def __init__(__self__, *,
                 Default: ``excluded``
         :param pulumi.Input['LaunchTemplateBaselineEbsBandwidthMbpsArgs'] baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.
                 Default: No minimum or maximum limits
-        :param pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgs'] baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        :param pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgs'] baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         :param pulumi.Input[str] burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).
                  +  To include burstable performance instance types, specify ``included``.
                  +  To require only burstable performance instance types, specify ``required``.
@@ -7269,6 +7290,7 @@ def __init__(__self__, *,
                  +  For instance types with Intel CPUs, specify ``intel``.
                  +  For instance types with AMD CPUs, specify ``amd``.
                  +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+                 +  For instance types with Apple CPUs, specify ``apple``.
                  
                  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
                  Default: Any manufacturer
@@ -7452,7 +7474,6 @@ def accelerator_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]
         The accelerator types that must be on the instance type.
           +  For instance types with GPU accelerators, specify ``gpu``.
           +  For instance types with FPGA accelerators, specify ``fpga``.
-          +  For instance types with inference accelerators, specify ``inference``.
           
          Default: Any accelerator type
         """
@@ -7512,7 +7533,7 @@ def baseline_ebs_bandwidth_mbps(self, value: Optional[pulumi.Input['LaunchTempla
     @pulumi.getter(name="baselinePerformanceFactors")
     def baseline_performance_factors(self) -> Optional[pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgs']]:
         """
-        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         """
         return pulumi.get(self, "baseline_performance_factors")
 
@@ -7545,6 +7566,7 @@ def cpu_manufacturers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]
           +  For instance types with Intel CPUs, specify ``intel``.
           +  For instance types with AMD CPUs, specify ``amd``.
           +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+          +  For instance types with Apple CPUs, specify ``apple``.
           
           Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
           Default: Any manufacturer
@@ -8398,9 +8420,10 @@ class LaunchTemplateNetworkInterfaceArgsDict(TypedDict):
         """
         interface_type: NotRequired[pulumi.Input[str]]
         """
-        The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
          If you are not creating an EFA, specify ``interface`` or omit this parameter.
-         Valid values: ``interface`` | ``efa``
+         If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+         Valid values: ``interface`` | ``efa`` | ``efa-only``
         """
         ipv4_prefix_count: NotRequired[pulumi.Input[int]]
         """
@@ -8495,9 +8518,10 @@ def __init__(__self__, *,
         :param pulumi.Input[int] device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
         :param pulumi.Input['LaunchTemplateEnaSrdSpecificationArgs'] ena_srd_specification: The ENA Express configuration for the network interface.
         :param pulumi.Input[Sequence[pulumi.Input[str]]] groups: The IDs of one or more security groups.
-        :param pulumi.Input[str] interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        :param pulumi.Input[str] interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
                 If you are not creating an EFA, specify ``interface`` or omit this parameter.
-                Valid values: ``interface`` | ``efa``
+                If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+                Valid values: ``interface`` | ``efa`` | ``efa-only``
         :param pulumi.Input[int] ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option.
         :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateIpv4PrefixSpecificationArgs']]] ipv4_prefixes: One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the ``Ipv4PrefixCount`` option.
         :param pulumi.Input[int] ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.
@@ -8659,9 +8683,10 @@ def groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
     @pulumi.getter(name="interfaceType")
     def interface_type(self) -> Optional[pulumi.Input[str]]:
         """
-        The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
          If you are not creating an EFA, specify ``interface`` or omit this parameter.
-         Valid values: ``interface`` | ``efa``
+         If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+         Valid values: ``interface`` | ``efa`` | ``efa-only``
         """
         return pulumi.get(self, "interface_type")
 
@@ -9161,9 +9186,6 @@ def private_ip_address(self, value: Optional[pulumi.Input[str]]):
 if not MYPY:
     class LaunchTemplateReferenceArgsDict(TypedDict):
         instance_family: NotRequired[pulumi.Input[str]]
-        """
-        The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        """
 elif False:
     LaunchTemplateReferenceArgsDict: TypeAlias = Mapping[str, Any]
 
@@ -9171,18 +9193,12 @@ class LaunchTemplateReferenceArgsDict(TypedDict):
 class LaunchTemplateReferenceArgs:
     def __init__(__self__, *,
                  instance_family: Optional[pulumi.Input[str]] = None):
-        """
-        :param pulumi.Input[str] instance_family: The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        """
         if instance_family is not None:
             pulumi.set(__self__, "instance_family", instance_family)
 
     @property
     @pulumi.getter(name="instanceFamily")
     def instance_family(self) -> Optional[pulumi.Input[str]]:
-        """
-        The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        """
         return pulumi.get(self, "instance_family")
 
     @instance_family.setter
@@ -9330,6 +9346,7 @@ def valid_until(self, value: Optional[pulumi.Input[str]]):
     class LaunchTemplateTagSpecificationArgsDict(TypedDict):
         """
         Specifies the tags to apply to the launch template during creation.
+         To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
           ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
         """
         resource_type: NotRequired[pulumi.Input[str]]
@@ -9350,6 +9367,7 @@ def __init__(__self__, *,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagArgs']]]] = None):
         """
         Specifies the tags to apply to the launch template during creation.
+         To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
           ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
         :param pulumi.Input[str] resource_type: The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``.
         :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagArgs']]] tags: The tags for the resource.
@@ -14971,7 +14989,7 @@ def kms_key_arn(self, value: Optional[pulumi.Input[str]]):
 if not MYPY:
     class TagSpecificationArgsDict(TypedDict):
         """
-        Specifies the tags to apply to a resource when the resource is created for the launch template.
+        Specifies the tags to apply to resources that are created during instance launch.
           ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
         """
         resource_type: NotRequired[pulumi.Input[str]]
@@ -14992,7 +15010,7 @@ def __init__(__self__, *,
                  resource_type: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagArgs']]]] = None):
         """
-        Specifies the tags to apply to a resource when the resource is created for the launch template.
+        Specifies the tags to apply to resources that are created during instance launch.
           ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
         :param pulumi.Input[str] resource_type: The type of resource to tag. You can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request``. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.
                 To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
diff --git a/sdk/python/pulumi_aws_native/ec2/launch_template.py b/sdk/python/pulumi_aws_native/ec2/launch_template.py
index eef1d68d48..8c3ec70739 100644
--- a/sdk/python/pulumi_aws_native/ec2/launch_template.py
+++ b/sdk/python/pulumi_aws_native/ec2/launch_template.py
@@ -31,7 +31,7 @@ def __init__(__self__, *,
         :param pulumi.Input['LaunchTemplateDataArgs'] launch_template_data: The information for the launch template.
         :param pulumi.Input[str] launch_template_name: A name for the launch template.
         :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagSpecificationArgs']]] tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-                To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+                To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
         :param pulumi.Input[str] version_description: A description for the first version of the launch template.
         """
         pulumi.set(__self__, "launch_template_data", launch_template_data)
@@ -71,7 +71,7 @@ def launch_template_name(self, value: Optional[pulumi.Input[str]]):
     def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagSpecificationArgs']]]]:
         """
         The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-         To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+         To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
         """
         return pulumi.get(self, "tag_specifications")
 
@@ -116,7 +116,7 @@ def __init__(__self__,
         :param pulumi.Input[Union['LaunchTemplateDataArgs', 'LaunchTemplateDataArgsDict']] launch_template_data: The information for the launch template.
         :param pulumi.Input[str] launch_template_name: A name for the launch template.
         :param pulumi.Input[Sequence[pulumi.Input[Union['LaunchTemplateTagSpecificationArgs', 'LaunchTemplateTagSpecificationArgsDict']]]] tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-                To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+                To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
         :param pulumi.Input[str] version_description: A description for the first version of the launch template.
         """
         ...
@@ -251,7 +251,7 @@ def launch_template_name(self) -> pulumi.Output[Optional[str]]:
     def tag_specifications(self) -> pulumi.Output[Optional[Sequence['outputs.LaunchTemplateTagSpecification']]]:
         """
         The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.
-         To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
+         To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).
         """
         return pulumi.get(self, "tag_specifications")
 
diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py
index 555e76c3d7..adec0597e8 100644
--- a/sdk/python/pulumi_aws_native/ec2/outputs.py
+++ b/sdk/python/pulumi_aws_native/ec2/outputs.py
@@ -3861,9 +3861,15 @@ def min(self) -> Optional[int]:
 
 @pulumi.output_type
 class LaunchTemplateBaselinePerformanceFactors(dict):
+    """
+    The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+     Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
+    """
     def __init__(__self__, *,
                  cpu: Optional['outputs.LaunchTemplateCpu'] = None):
         """
+        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
+         Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
         :param 'LaunchTemplateCpu' cpu: The CPU performance to consider, using an instance family as the baseline reference.
         """
         if cpu is not None:
@@ -3992,7 +3998,8 @@ def __init__(__self__, *,
         Specifies an instance's Capacity Reservation targeting option. You can specify only one option at a time.
           ``CapacityReservationSpecification`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
         :param str capacity_reservation_preference: Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-                 +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+                 +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+                 +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
                  +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         :param 'LaunchTemplateCapacityReservationTarget' capacity_reservation_target: Information about the target Capacity Reservation or Capacity Reservation group.
         """
@@ -4006,7 +4013,8 @@ def __init__(__self__, *,
     def capacity_reservation_preference(self) -> Optional[str]:
         """
         Indicates the instance's Capacity Reservation preferences. Possible preferences include:
-          +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
+          +   ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
+          +   ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
           +   ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
         """
         return pulumi.get(self, "capacity_reservation_preference")
@@ -4326,6 +4334,8 @@ def __key_warning(key: str):
             suggest = "metadata_options"
         elif key == "networkInterfaces":
             suggest = "network_interfaces"
+        elif key == "networkPerformanceOptions":
+            suggest = "network_performance_options"
         elif key == "privateDnsNameOptions":
             suggest = "private_dns_name_options"
         elif key == "ramDiskId":
@@ -4375,6 +4385,7 @@ def __init__(__self__, *,
                  metadata_options: Optional['outputs.LaunchTemplateMetadataOptions'] = None,
                  monitoring: Optional['outputs.LaunchTemplateMonitoring'] = None,
                  network_interfaces: Optional[Sequence['outputs.LaunchTemplateNetworkInterface']] = None,
+                 network_performance_options: Optional[Any] = None,
                  placement: Optional['outputs.LaunchTemplatePlacement'] = None,
                  private_dns_name_options: Optional['outputs.LaunchTemplatePrivateDnsNameOptions'] = None,
                  ram_disk_id: Optional[str] = None,
@@ -4394,7 +4405,8 @@ def __init__(__self__, *,
         :param bool ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
         :param Sequence['LaunchTemplateElasticGpuSpecification'] elastic_gpu_specifications: Deprecated.
                  Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
-        :param Sequence['LaunchTemplateElasticInferenceAccelerator'] elastic_inference_accelerators: An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        :param Sequence['LaunchTemplateElasticInferenceAccelerator'] elastic_inference_accelerators: Amazon Elastic Inference is no longer available.
+                 An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
                 You cannot specify accelerators from different generations in the same request.
                  Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         :param 'LaunchTemplateEnclaveOptions' enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *Nitro Enclaves User Guide*.
@@ -4421,7 +4433,7 @@ def __init__(__self__, *,
                  
                  If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
                 Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-                 For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+                 For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         :param str instance_type: The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.
                 If you specify ``InstanceType``, you can't specify ``InstanceRequirements``.
         :param str kernel_id: The ID of the kernel.
@@ -4441,8 +4453,7 @@ def __init__(__self__, *,
                 If you specify a network interface, you must specify any security groups as part of the network interface instead.
         :param Sequence[str] security_groups: The names of the security groups. For a nondefault VPC, you must use security group IDs instead.
                 If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
-        :param Sequence['TagSpecification'] tag_specifications: The tags to apply to the resources that are created during instance launch.
-                To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        :param Sequence['TagSpecification'] tag_specifications: The tags to apply to resources that are created during instance launch.
                 To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         :param str user_data: The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*.
                 If you are creating the launch template for use with BATCH, the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive). For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *User Guide*.
@@ -4495,6 +4506,8 @@ def __init__(__self__, *,
             pulumi.set(__self__, "monitoring", monitoring)
         if network_interfaces is not None:
             pulumi.set(__self__, "network_interfaces", network_interfaces)
+        if network_performance_options is not None:
+            pulumi.set(__self__, "network_performance_options", network_performance_options)
         if placement is not None:
             pulumi.set(__self__, "placement", placement)
         if private_dns_name_options is not None:
@@ -4579,7 +4592,8 @@ def elastic_gpu_specifications(self) -> Optional[Sequence['outputs.LaunchTemplat
     @pulumi.getter(name="elasticInferenceAccelerators")
     def elastic_inference_accelerators(self) -> Optional[Sequence['outputs.LaunchTemplateElasticInferenceAccelerator']]:
         """
-        An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
+        Amazon Elastic Inference is no longer available.
+          An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
          You cannot specify accelerators from different generations in the same request.
           Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
         """
@@ -4655,7 +4669,7 @@ def instance_requirements(self) -> Optional['outputs.LaunchTemplateInstanceRequi
           
           If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-          For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+          For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         """
         return pulumi.get(self, "instance_requirements")
 
@@ -4726,6 +4740,11 @@ def network_interfaces(self) -> Optional[Sequence['outputs.LaunchTemplateNetwork
         """
         return pulumi.get(self, "network_interfaces")
 
+    @property
+    @pulumi.getter(name="networkPerformanceOptions")
+    def network_performance_options(self) -> Optional[Any]:
+        return pulumi.get(self, "network_performance_options")
+
     @property
     @pulumi.getter
     def placement(self) -> Optional['outputs.LaunchTemplatePlacement']:
@@ -4773,8 +4792,7 @@ def security_groups(self) -> Optional[Sequence[str]]:
     @pulumi.getter(name="tagSpecifications")
     def tag_specifications(self) -> Optional[Sequence['outputs.TagSpecification']]:
         """
-        The tags to apply to the resources that are created during instance launch.
-         To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
+        The tags to apply to resources that are created during instance launch.
          To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).
         """
         return pulumi.get(self, "tag_specifications")
@@ -4842,7 +4860,7 @@ def __init__(__self__, *,
                  
                 For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS.
                 This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only.
-        :param str kms_key_id: The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        :param str kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         :param str snapshot_id: The ID of the snapshot.
         :param int throughput: The throughput to provision for a ``gp3`` volume, with a maximum of 1,000 MiB/s.
                 Valid Range: Minimum value of 125. Maximum value of 1000.
@@ -4906,7 +4924,7 @@ def iops(self) -> Optional[int]:
     @pulumi.getter(name="kmsKeyId")
     def kms_key_id(self) -> Optional[str]:
         """
-        The ARN of the symmetric KMSlong (KMS) CMK used for encryption.
+        Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.
         """
         return pulumi.get(self, "kms_key_id")
 
@@ -5268,7 +5286,7 @@ class LaunchTemplateInstanceRequirements(dict):
       
       If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
      Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-      For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+      For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
     """
     @staticmethod
     def __key_warning(key: str):
@@ -5371,7 +5389,7 @@ def __init__(__self__, *,
           
           If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.
          Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.
-          For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
+          For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.
         :param 'LaunchTemplateAcceleratorCount' accelerator_count: The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
                 To exclude accelerator-enabled instance types, set ``Max`` to ``0``.
                 Default: No minimum or maximum limits
@@ -5403,7 +5421,6 @@ def __init__(__self__, *,
         :param Sequence[str] accelerator_types: The accelerator types that must be on the instance type.
                  +  For instance types with GPU accelerators, specify ``gpu``.
                  +  For instance types with FPGA accelerators, specify ``fpga``.
-                 +  For instance types with inference accelerators, specify ``inference``.
                  
                 Default: Any accelerator type
         :param Sequence[str] allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.
@@ -5419,7 +5436,7 @@ def __init__(__self__, *,
                 Default: ``excluded``
         :param 'LaunchTemplateBaselineEbsBandwidthMbps' baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.
                 Default: No minimum or maximum limits
-        :param 'LaunchTemplateBaselinePerformanceFactors' baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        :param 'LaunchTemplateBaselinePerformanceFactors' baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         :param str burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).
                  +  To include burstable performance instance types, specify ``included``.
                  +  To require only burstable performance instance types, specify ``required``.
@@ -5430,6 +5447,7 @@ def __init__(__self__, *,
                  +  For instance types with Intel CPUs, specify ``intel``.
                  +  For instance types with AMD CPUs, specify ``amd``.
                  +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+                 +  For instance types with Apple CPUs, specify ``apple``.
                  
                  Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
                  Default: Any manufacturer
@@ -5597,7 +5615,6 @@ def accelerator_types(self) -> Optional[Sequence[str]]:
         The accelerator types that must be on the instance type.
           +  For instance types with GPU accelerators, specify ``gpu``.
           +  For instance types with FPGA accelerators, specify ``fpga``.
-          +  For instance types with inference accelerators, specify ``inference``.
           
          Default: Any accelerator type
         """
@@ -5641,7 +5658,7 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional['outputs.LaunchTemplateBaselin
     @pulumi.getter(name="baselinePerformanceFactors")
     def baseline_performance_factors(self) -> Optional['outputs.LaunchTemplateBaselinePerformanceFactors']:
         """
-        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide* .
+        The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.
         """
         return pulumi.get(self, "baseline_performance_factors")
 
@@ -5666,6 +5683,7 @@ def cpu_manufacturers(self) -> Optional[Sequence[str]]:
           +  For instance types with Intel CPUs, specify ``intel``.
           +  For instance types with AMD CPUs, specify ``amd``.
           +  For instance types with AWS CPUs, specify ``amazon-web-services``.
+          +  For instance types with Apple CPUs, specify ``apple``.
           
           Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
           Default: Any manufacturer
@@ -6373,9 +6391,10 @@ def __init__(__self__, *,
         :param int device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
         :param 'LaunchTemplateEnaSrdSpecification' ena_srd_specification: The ENA Express configuration for the network interface.
         :param Sequence[str] groups: The IDs of one or more security groups.
-        :param str interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        :param str interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
                 If you are not creating an EFA, specify ``interface`` or omit this parameter.
-                Valid values: ``interface`` | ``efa``
+                If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+                Valid values: ``interface`` | ``efa`` | ``efa-only``
         :param int ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option.
         :param Sequence['LaunchTemplateIpv4PrefixSpecification'] ipv4_prefixes: One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the ``Ipv4PrefixCount`` option.
         :param int ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.
@@ -6505,9 +6524,10 @@ def groups(self) -> Optional[Sequence[str]]:
     @pulumi.getter(name="interfaceType")
     def interface_type(self) -> Optional[str]:
         """
-        The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
+        The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.
          If you are not creating an EFA, specify ``interface`` or omit this parameter.
-         Valid values: ``interface`` | ``efa``
+         If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
+         Valid values: ``interface`` | ``efa`` | ``efa-only``
         """
         return pulumi.get(self, "interface_type")
 
@@ -6944,18 +6964,12 @@ def get(self, key: str, default = None) -> Any:
 
     def __init__(__self__, *,
                  instance_family: Optional[str] = None):
-        """
-        :param str instance_family: The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        """
         if instance_family is not None:
             pulumi.set(__self__, "instance_family", instance_family)
 
     @property
     @pulumi.getter(name="instanceFamily")
     def instance_family(self) -> Optional[str]:
-        """
-        The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
-        """
         return pulumi.get(self, "instance_family")
 
 
@@ -7106,6 +7120,7 @@ def value(self) -> str:
 class LaunchTemplateTagSpecification(dict):
     """
     Specifies the tags to apply to the launch template during creation.
+     To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
       ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
     """
     @staticmethod
@@ -7130,6 +7145,7 @@ def __init__(__self__, *,
                  tags: Optional[Sequence['outputs.LaunchTemplateTag']] = None):
         """
         Specifies the tags to apply to the launch template during creation.
+         To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).
           ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).
         :param str resource_type: The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``.
         :param Sequence['LaunchTemplateTag'] tags: The tags for the resource.
@@ -13301,7 +13317,7 @@ def kms_key_arn(self) -> Optional[str]:
 @pulumi.output_type
 class TagSpecification(dict):
     """
-    Specifies the tags to apply to a resource when the resource is created for the launch template.
+    Specifies the tags to apply to resources that are created during instance launch.
       ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
     """
     @staticmethod
@@ -13325,7 +13341,7 @@ def __init__(__self__, *,
                  resource_type: Optional[str] = None,
                  tags: Optional[Sequence['outputs.LaunchTemplateTag']] = None):
         """
-        Specifies the tags to apply to a resource when the resource is created for the launch template.
+        Specifies the tags to apply to resources that are created during instance launch.
           ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
         :param str resource_type: The type of resource to tag. You can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request``. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume.
                 To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
diff --git a/sdk/python/pulumi_aws_native/kendra/_enums.py b/sdk/python/pulumi_aws_native/kendra/_enums.py
index bcfc70785d..1b68abcf7b 100644
--- a/sdk/python/pulumi_aws_native/kendra/_enums.py
+++ b/sdk/python/pulumi_aws_native/kendra/_enums.py
@@ -213,6 +213,7 @@ class IndexEdition(str, Enum):
     """
     DEVELOPER_EDITION = "DEVELOPER_EDITION"
     ENTERPRISE_EDITION = "ENTERPRISE_EDITION"
+    GEN_AI_ENTERPRISE_EDITION = "GEN_AI_ENTERPRISE_EDITION"
 
 
 class IndexKeyLocation(str, Enum):
diff --git a/sdk/python/pulumi_aws_native/lambda_/_inputs.py b/sdk/python/pulumi_aws_native/lambda_/_inputs.py
index 487d9f85dc..69010bef64 100644
--- a/sdk/python/pulumi_aws_native/lambda_/_inputs.py
+++ b/sdk/python/pulumi_aws_native/lambda_/_inputs.py
@@ -671,9 +671,12 @@ def pattern(self, value: Optional[pulumi.Input[str]]):
 
 if not MYPY:
     class EventSourceMappingMetricsConfigArgsDict(TypedDict):
+        """
+        The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+        """
         metrics: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]]
         """
-        Metric groups to enable.
+        The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
 elif False:
     EventSourceMappingMetricsConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -683,7 +686,8 @@ class EventSourceMappingMetricsConfigArgs:
     def __init__(__self__, *,
                  metrics: Optional[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]] = None):
         """
-        :param pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]] metrics: Metric groups to enable.
+        The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+        :param pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]] metrics: The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         if metrics is not None:
             pulumi.set(__self__, "metrics", metrics)
@@ -692,7 +696,7 @@ def __init__(__self__, *,
     @pulumi.getter
     def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]]:
         """
-        Metric groups to enable.
+        The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         return pulumi.get(self, "metrics")
 
@@ -709,9 +713,8 @@ class EventSourceMappingOnFailureArgsDict(TypedDict):
         destination: NotRequired[pulumi.Input[str]]
         """
         The Amazon Resource Name (ARN) of the destination resource.
-         To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-         To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-         To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+         To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+         To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         """
 elif False:
     EventSourceMappingOnFailureArgsDict: TypeAlias = Mapping[str, Any]
@@ -723,9 +726,8 @@ def __init__(__self__, *,
         """
         A destination for events that failed processing.
         :param pulumi.Input[str] destination: The Amazon Resource Name (ARN) of the destination resource.
-                To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-                To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-                To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+                To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+                To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         """
         if destination is not None:
             pulumi.set(__self__, "destination", destination)
@@ -735,9 +737,8 @@ def __init__(__self__, *,
     def destination(self) -> Optional[pulumi.Input[str]]:
         """
         The Amazon Resource Name (ARN) of the destination resource.
-         To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-         To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-         To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+         To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+         To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         """
         return pulumi.get(self, "destination")
 
@@ -748,6 +749,9 @@ def destination(self, value: Optional[pulumi.Input[str]]):
 
 if not MYPY:
     class EventSourceMappingProvisionedPollerConfigArgsDict(TypedDict):
+        """
+        The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
+        """
         maximum_pollers: NotRequired[pulumi.Input[int]]
         """
         The maximum number of event pollers this event source can scale up to.
@@ -765,6 +769,7 @@ def __init__(__self__, *,
                  maximum_pollers: Optional[pulumi.Input[int]] = None,
                  minimum_pollers: Optional[pulumi.Input[int]] = None):
         """
+        The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
         :param pulumi.Input[int] maximum_pollers: The maximum number of event pollers this event source can scale up to.
         :param pulumi.Input[int] minimum_pollers: The minimum number of event pollers this event source can scale down to.
         """
diff --git a/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py b/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py
index 6e6adda083..9e284e7352 100644
--- a/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py
+++ b/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py
@@ -93,9 +93,9 @@ def __init__(__self__, *,
         :param pulumi.Input[int] maximum_record_age_in_seconds: (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.
                  The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed
         :param pulumi.Input[int] maximum_retry_attempts: (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
-        :param pulumi.Input['EventSourceMappingMetricsConfigArgs'] metrics_config: The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        :param pulumi.Input['EventSourceMappingMetricsConfigArgs'] metrics_config: The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         :param pulumi.Input[int] parallelization_factor: (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
-        :param pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs'] provisioned_poller_config: (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        :param pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs'] provisioned_poller_config: (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         :param pulumi.Input[Sequence[pulumi.Input[str]]] queues: (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
         :param pulumi.Input['EventSourceMappingScalingConfigArgs'] scaling_config: (Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).
         :param pulumi.Input['EventSourceMappingSelfManagedEventSourceArgs'] self_managed_event_source: The self-managed Apache Kafka cluster for your event source.
@@ -363,7 +363,7 @@ def maximum_retry_attempts(self, value: Optional[pulumi.Input[int]]):
     @pulumi.getter(name="metricsConfig")
     def metrics_config(self) -> Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]:
         """
-        The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         return pulumi.get(self, "metrics_config")
 
@@ -387,7 +387,7 @@ def parallelization_factor(self, value: Optional[pulumi.Input[int]]):
     @pulumi.getter(name="provisionedPollerConfig")
     def provisioned_poller_config(self) -> Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]:
         """
-        (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         """
         return pulumi.get(self, "provisioned_poller_config")
 
@@ -606,9 +606,9 @@ def __init__(__self__,
         :param pulumi.Input[int] maximum_record_age_in_seconds: (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.
                  The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed
         :param pulumi.Input[int] maximum_retry_attempts: (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.
-        :param pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']] metrics_config: The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        :param pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']] metrics_config: The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         :param pulumi.Input[int] parallelization_factor: (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.
-        :param pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']] provisioned_poller_config: (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        :param pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']] provisioned_poller_config: (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         :param pulumi.Input[Sequence[pulumi.Input[str]]] queues: (Amazon MQ) The name of the Amazon MQ broker destination queue to consume.
         :param pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']] scaling_config: (Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).
         :param pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']] self_managed_event_source: The self-managed Apache Kafka cluster for your event source.
@@ -936,7 +936,7 @@ def maximum_retry_attempts(self) -> pulumi.Output[Optional[int]]:
     @pulumi.getter(name="metricsConfig")
     def metrics_config(self) -> pulumi.Output[Optional['outputs.EventSourceMappingMetricsConfig']]:
         """
-        The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         return pulumi.get(self, "metrics_config")
 
@@ -952,7 +952,7 @@ def parallelization_factor(self) -> pulumi.Output[Optional[int]]:
     @pulumi.getter(name="provisionedPollerConfig")
     def provisioned_poller_config(self) -> pulumi.Output[Optional['outputs.EventSourceMappingProvisionedPollerConfig']]:
         """
-        (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         """
         return pulumi.get(self, "provisioned_poller_config")
 
diff --git a/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py b/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py
index 8bf4eb651d..2802a4261f 100644
--- a/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py
+++ b/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py
@@ -233,7 +233,7 @@ def maximum_retry_attempts(self) -> Optional[int]:
     @pulumi.getter(name="metricsConfig")
     def metrics_config(self) -> Optional['outputs.EventSourceMappingMetricsConfig']:
         """
-        The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics) .
+        The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         return pulumi.get(self, "metrics_config")
 
@@ -249,7 +249,7 @@ def parallelization_factor(self) -> Optional[int]:
     @pulumi.getter(name="provisionedPollerConfig")
     def provisioned_poller_config(self) -> Optional['outputs.EventSourceMappingProvisionedPollerConfig']:
         """
-        (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) .
+        (Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).
         """
         return pulumi.get(self, "provisioned_poller_config")
 
diff --git a/sdk/python/pulumi_aws_native/lambda_/outputs.py b/sdk/python/pulumi_aws_native/lambda_/outputs.py
index 90b3b6063f..f8f18b2113 100644
--- a/sdk/python/pulumi_aws_native/lambda_/outputs.py
+++ b/sdk/python/pulumi_aws_native/lambda_/outputs.py
@@ -599,10 +599,14 @@ def filters(self) -> Optional[Sequence['outputs.EventSourceMappingFilter']]:
 
 @pulumi.output_type
 class EventSourceMappingMetricsConfig(dict):
+    """
+    The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+    """
     def __init__(__self__, *,
                  metrics: Optional[Sequence['EventSourceMappingMetricsConfigMetricsItem']] = None):
         """
-        :param Sequence['EventSourceMappingMetricsConfigMetricsItem'] metrics: Metric groups to enable.
+        The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.
+        :param Sequence['EventSourceMappingMetricsConfigMetricsItem'] metrics: The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         if metrics is not None:
             pulumi.set(__self__, "metrics", metrics)
@@ -611,7 +615,7 @@ def __init__(__self__, *,
     @pulumi.getter
     def metrics(self) -> Optional[Sequence['EventSourceMappingMetricsConfigMetricsItem']]:
         """
-        Metric groups to enable.
+        The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).
         """
         return pulumi.get(self, "metrics")
 
@@ -626,9 +630,8 @@ def __init__(__self__, *,
         """
         A destination for events that failed processing.
         :param str destination: The Amazon Resource Name (ARN) of the destination resource.
-                To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-                To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-                To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+                To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+                To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         """
         if destination is not None:
             pulumi.set(__self__, "destination", destination)
@@ -638,15 +641,17 @@ def __init__(__self__, *,
     def destination(self) -> Optional[str]:
         """
         The Amazon Resource Name (ARN) of the destination resource.
-         To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.
-         To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.
-         To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
+         To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.
+         To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.
         """
         return pulumi.get(self, "destination")
 
 
 @pulumi.output_type
 class EventSourceMappingProvisionedPollerConfig(dict):
+    """
+    The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
+    """
     @staticmethod
     def __key_warning(key: str):
         suggest = None
@@ -670,6 +675,7 @@ def __init__(__self__, *,
                  maximum_pollers: Optional[int] = None,
                  minimum_pollers: Optional[int] = None):
         """
+        The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.
         :param int maximum_pollers: The maximum number of event pollers this event source can scale up to.
         :param int minimum_pollers: The minimum number of event pollers this event source can scale down to.
         """
diff --git a/sdk/python/pulumi_aws_native/qbusiness/__init__.py b/sdk/python/pulumi_aws_native/qbusiness/__init__.py
index cb94ea2524..22479da656 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/__init__.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/__init__.py
@@ -7,14 +7,17 @@
 # Export this package's modules as members:
 from ._enums import *
 from .application import *
+from .data_accessor import *
 from .data_source import *
 from .get_application import *
+from .get_data_accessor import *
 from .get_data_source import *
 from .get_index import *
 from .get_plugin import *
 from .get_retriever import *
 from .get_web_experience import *
 from .index import *
+from .permission import *
 from .plugin import *
 from .retriever import *
 from .web_experience import *
diff --git a/sdk/python/pulumi_aws_native/qbusiness/_enums.py b/sdk/python/pulumi_aws_native/qbusiness/_enums.py
index 60adffdf53..a3d78465b0 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/_enums.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/_enums.py
@@ -15,6 +15,7 @@
     'DataSourceAttributeValueOperator',
     'DataSourceDocumentContentOperator',
     'DataSourceDocumentEnrichmentConditionOperator',
+    'DataSourceImageExtractionStatus',
     'DataSourceStatus',
     'IndexAttributeType',
     'IndexStatus',
@@ -45,6 +46,7 @@ class ApplicationIdentityType(str, Enum):
     AWS_IAM_IDP_SAML = "AWS_IAM_IDP_SAML"
     AWS_IAM_IDP_OIDC = "AWS_IAM_IDP_OIDC"
     AWS_IAM_IDC = "AWS_IAM_IDC"
+    AWS_QUICKSIGHT_IDP = "AWS_QUICKSIGHT_IDP"
 
 
 class ApplicationPersonalizationControlMode(str, Enum):
@@ -92,6 +94,11 @@ class DataSourceDocumentEnrichmentConditionOperator(str, Enum):
     BEGINS_WITH = "BEGINS_WITH"
 
 
+class DataSourceImageExtractionStatus(str, Enum):
+    ENABLED = "ENABLED"
+    DISABLED = "DISABLED"
+
+
 class DataSourceStatus(str, Enum):
     PENDING_CREATION = "PENDING_CREATION"
     CREATING = "CREATING"
@@ -146,6 +153,18 @@ class PluginType(str, Enum):
     JIRA = "JIRA"
     ZENDESK = "ZENDESK"
     CUSTOM = "CUSTOM"
+    QUICKSIGHT = "QUICKSIGHT"
+    SERVICENOW_NOW_PLATFORM = "SERVICENOW_NOW_PLATFORM"
+    JIRA_CLOUD = "JIRA_CLOUD"
+    SALESFORCE_CRM = "SALESFORCE_CRM"
+    ZENDESK_SUITE = "ZENDESK_SUITE"
+    ATLASSIAN_CONFLUENCE = "ATLASSIAN_CONFLUENCE"
+    GOOGLE_CALENDAR = "GOOGLE_CALENDAR"
+    MICROSOFT_TEAMS = "MICROSOFT_TEAMS"
+    MICROSOFT_EXCHANGE = "MICROSOFT_EXCHANGE"
+    PAGERDUTY_ADVANCE = "PAGERDUTY_ADVANCE"
+    SMARTSHEET = "SMARTSHEET"
+    ASANA = "ASANA"
 
 
 class QBusinessIndexStatus(str, Enum):
diff --git a/sdk/python/pulumi_aws_native/qbusiness/_inputs.py b/sdk/python/pulumi_aws_native/qbusiness/_inputs.py
index ef39b6c3c0..e217b5c828 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/_inputs.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/_inputs.py
@@ -26,6 +26,24 @@
     'ApplicationPersonalizationConfigurationArgsDict',
     'ApplicationQAppsConfigurationArgs',
     'ApplicationQAppsConfigurationArgsDict',
+    'ApplicationQuickSightConfigurationArgs',
+    'ApplicationQuickSightConfigurationArgsDict',
+    'DataAccessorActionConfigurationArgs',
+    'DataAccessorActionConfigurationArgsDict',
+    'DataAccessorActionFilterConfigurationArgs',
+    'DataAccessorActionFilterConfigurationArgsDict',
+    'DataAccessorAttributeFilterArgs',
+    'DataAccessorAttributeFilterArgsDict',
+    'DataAccessorDocumentAttributeValue0PropertiesArgs',
+    'DataAccessorDocumentAttributeValue0PropertiesArgsDict',
+    'DataAccessorDocumentAttributeValue1PropertiesArgs',
+    'DataAccessorDocumentAttributeValue1PropertiesArgsDict',
+    'DataAccessorDocumentAttributeValue2PropertiesArgs',
+    'DataAccessorDocumentAttributeValue2PropertiesArgsDict',
+    'DataAccessorDocumentAttributeValue3PropertiesArgs',
+    'DataAccessorDocumentAttributeValue3PropertiesArgsDict',
+    'DataAccessorDocumentAttributeArgs',
+    'DataAccessorDocumentAttributeArgsDict',
     'DataSourceDocumentAttributeConditionArgs',
     'DataSourceDocumentAttributeConditionArgsDict',
     'DataSourceDocumentAttributeTargetArgs',
@@ -42,8 +60,12 @@
     'DataSourceDocumentEnrichmentConfigurationArgsDict',
     'DataSourceHookConfigurationArgs',
     'DataSourceHookConfigurationArgsDict',
+    'DataSourceImageExtractionConfigurationArgs',
+    'DataSourceImageExtractionConfigurationArgsDict',
     'DataSourceInlineDocumentEnrichmentConfigurationArgs',
     'DataSourceInlineDocumentEnrichmentConfigurationArgsDict',
+    'DataSourceMediaExtractionConfigurationArgs',
+    'DataSourceMediaExtractionConfigurationArgsDict',
     'DataSourceVpcConfigurationArgs',
     'DataSourceVpcConfigurationArgsDict',
     'IndexCapacityConfigurationArgs',
@@ -78,6 +100,8 @@
     'RetrieverKendraIndexConfigurationArgsDict',
     'RetrieverNativeIndexConfigurationArgs',
     'RetrieverNativeIndexConfigurationArgsDict',
+    'WebExperienceCustomizationConfigurationArgs',
+    'WebExperienceCustomizationConfigurationArgsDict',
     'WebExperienceIdentityProviderConfiguration0PropertiesArgs',
     'WebExperienceIdentityProviderConfiguration0PropertiesArgsDict',
     'WebExperienceIdentityProviderConfiguration1PropertiesArgs',
@@ -266,6 +290,347 @@ def q_apps_control_mode(self, value: pulumi.Input['ApplicationQAppsControlMode']
         pulumi.set(self, "q_apps_control_mode", value)
 
 
+if not MYPY:
+    class ApplicationQuickSightConfigurationArgsDict(TypedDict):
+        client_namespace: pulumi.Input[str]
+elif False:
+    ApplicationQuickSightConfigurationArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class ApplicationQuickSightConfigurationArgs:
+    def __init__(__self__, *,
+                 client_namespace: pulumi.Input[str]):
+        pulumi.set(__self__, "client_namespace", client_namespace)
+
+    @property
+    @pulumi.getter(name="clientNamespace")
+    def client_namespace(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "client_namespace")
+
+    @client_namespace.setter
+    def client_namespace(self, value: pulumi.Input[str]):
+        pulumi.set(self, "client_namespace", value)
+
+
+if not MYPY:
+    class DataAccessorActionConfigurationArgsDict(TypedDict):
+        action: pulumi.Input[str]
+        filter_configuration: NotRequired[pulumi.Input['DataAccessorActionFilterConfigurationArgsDict']]
+elif False:
+    DataAccessorActionConfigurationArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorActionConfigurationArgs:
+    def __init__(__self__, *,
+                 action: pulumi.Input[str],
+                 filter_configuration: Optional[pulumi.Input['DataAccessorActionFilterConfigurationArgs']] = None):
+        pulumi.set(__self__, "action", action)
+        if filter_configuration is not None:
+            pulumi.set(__self__, "filter_configuration", filter_configuration)
+
+    @property
+    @pulumi.getter
+    def action(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "action")
+
+    @action.setter
+    def action(self, value: pulumi.Input[str]):
+        pulumi.set(self, "action", value)
+
+    @property
+    @pulumi.getter(name="filterConfiguration")
+    def filter_configuration(self) -> Optional[pulumi.Input['DataAccessorActionFilterConfigurationArgs']]:
+        return pulumi.get(self, "filter_configuration")
+
+    @filter_configuration.setter
+    def filter_configuration(self, value: Optional[pulumi.Input['DataAccessorActionFilterConfigurationArgs']]):
+        pulumi.set(self, "filter_configuration", value)
+
+
+if not MYPY:
+    class DataAccessorActionFilterConfigurationArgsDict(TypedDict):
+        document_attribute_filter: pulumi.Input['DataAccessorAttributeFilterArgsDict']
+elif False:
+    DataAccessorActionFilterConfigurationArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorActionFilterConfigurationArgs:
+    def __init__(__self__, *,
+                 document_attribute_filter: pulumi.Input['DataAccessorAttributeFilterArgs']):
+        pulumi.set(__self__, "document_attribute_filter", document_attribute_filter)
+
+    @property
+    @pulumi.getter(name="documentAttributeFilter")
+    def document_attribute_filter(self) -> pulumi.Input['DataAccessorAttributeFilterArgs']:
+        return pulumi.get(self, "document_attribute_filter")
+
+    @document_attribute_filter.setter
+    def document_attribute_filter(self, value: pulumi.Input['DataAccessorAttributeFilterArgs']):
+        pulumi.set(self, "document_attribute_filter", value)
+
+
+if not MYPY:
+    class DataAccessorAttributeFilterArgsDict(TypedDict):
+        and_all_filters: NotRequired[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgsDict']]]]
+        contains_all: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        contains_any: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        equals_to: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        greater_than: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        greater_than_or_equals: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        less_than: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        less_than_or_equals: NotRequired[pulumi.Input['DataAccessorDocumentAttributeArgsDict']]
+        not_filter: NotRequired[pulumi.Input['DataAccessorAttributeFilterArgsDict']]
+        or_all_filters: NotRequired[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgsDict']]]]
+elif False:
+    DataAccessorAttributeFilterArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorAttributeFilterArgs:
+    def __init__(__self__, *,
+                 and_all_filters: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgs']]]] = None,
+                 contains_all: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 contains_any: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 equals_to: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 greater_than: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 greater_than_or_equals: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 less_than: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 less_than_or_equals: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']] = None,
+                 not_filter: Optional[pulumi.Input['DataAccessorAttributeFilterArgs']] = None,
+                 or_all_filters: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgs']]]] = None):
+        if and_all_filters is not None:
+            pulumi.set(__self__, "and_all_filters", and_all_filters)
+        if contains_all is not None:
+            pulumi.set(__self__, "contains_all", contains_all)
+        if contains_any is not None:
+            pulumi.set(__self__, "contains_any", contains_any)
+        if equals_to is not None:
+            pulumi.set(__self__, "equals_to", equals_to)
+        if greater_than is not None:
+            pulumi.set(__self__, "greater_than", greater_than)
+        if greater_than_or_equals is not None:
+            pulumi.set(__self__, "greater_than_or_equals", greater_than_or_equals)
+        if less_than is not None:
+            pulumi.set(__self__, "less_than", less_than)
+        if less_than_or_equals is not None:
+            pulumi.set(__self__, "less_than_or_equals", less_than_or_equals)
+        if not_filter is not None:
+            pulumi.set(__self__, "not_filter", not_filter)
+        if or_all_filters is not None:
+            pulumi.set(__self__, "or_all_filters", or_all_filters)
+
+    @property
+    @pulumi.getter(name="andAllFilters")
+    def and_all_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgs']]]]:
+        return pulumi.get(self, "and_all_filters")
+
+    @and_all_filters.setter
+    def and_all_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgs']]]]):
+        pulumi.set(self, "and_all_filters", value)
+
+    @property
+    @pulumi.getter(name="containsAll")
+    def contains_all(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "contains_all")
+
+    @contains_all.setter
+    def contains_all(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "contains_all", value)
+
+    @property
+    @pulumi.getter(name="containsAny")
+    def contains_any(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "contains_any")
+
+    @contains_any.setter
+    def contains_any(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "contains_any", value)
+
+    @property
+    @pulumi.getter(name="equalsTo")
+    def equals_to(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "equals_to")
+
+    @equals_to.setter
+    def equals_to(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "equals_to", value)
+
+    @property
+    @pulumi.getter(name="greaterThan")
+    def greater_than(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "greater_than")
+
+    @greater_than.setter
+    def greater_than(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "greater_than", value)
+
+    @property
+    @pulumi.getter(name="greaterThanOrEquals")
+    def greater_than_or_equals(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "greater_than_or_equals")
+
+    @greater_than_or_equals.setter
+    def greater_than_or_equals(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "greater_than_or_equals", value)
+
+    @property
+    @pulumi.getter(name="lessThan")
+    def less_than(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "less_than")
+
+    @less_than.setter
+    def less_than(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "less_than", value)
+
+    @property
+    @pulumi.getter(name="lessThanOrEquals")
+    def less_than_or_equals(self) -> Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]:
+        return pulumi.get(self, "less_than_or_equals")
+
+    @less_than_or_equals.setter
+    def less_than_or_equals(self, value: Optional[pulumi.Input['DataAccessorDocumentAttributeArgs']]):
+        pulumi.set(self, "less_than_or_equals", value)
+
+    @property
+    @pulumi.getter(name="notFilter")
+    def not_filter(self) -> Optional[pulumi.Input['DataAccessorAttributeFilterArgs']]:
+        return pulumi.get(self, "not_filter")
+
+    @not_filter.setter
+    def not_filter(self, value: Optional[pulumi.Input['DataAccessorAttributeFilterArgs']]):
+        pulumi.set(self, "not_filter", value)
+
+    @property
+    @pulumi.getter(name="orAllFilters")
+    def or_all_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgs']]]]:
+        return pulumi.get(self, "or_all_filters")
+
+    @or_all_filters.setter
+    def or_all_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataAccessorAttributeFilterArgs']]]]):
+        pulumi.set(self, "or_all_filters", value)
+
+
+if not MYPY:
+    class DataAccessorDocumentAttributeValue0PropertiesArgsDict(TypedDict):
+        string_value: pulumi.Input[str]
+elif False:
+    DataAccessorDocumentAttributeValue0PropertiesArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorDocumentAttributeValue0PropertiesArgs:
+    def __init__(__self__, *,
+                 string_value: pulumi.Input[str]):
+        pulumi.set(__self__, "string_value", string_value)
+
+    @property
+    @pulumi.getter(name="stringValue")
+    def string_value(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "string_value")
+
+    @string_value.setter
+    def string_value(self, value: pulumi.Input[str]):
+        pulumi.set(self, "string_value", value)
+
+
+if not MYPY:
+    class DataAccessorDocumentAttributeValue1PropertiesArgsDict(TypedDict):
+        string_list_value: pulumi.Input[Sequence[pulumi.Input[str]]]
+elif False:
+    DataAccessorDocumentAttributeValue1PropertiesArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorDocumentAttributeValue1PropertiesArgs:
+    def __init__(__self__, *,
+                 string_list_value: pulumi.Input[Sequence[pulumi.Input[str]]]):
+        pulumi.set(__self__, "string_list_value", string_list_value)
+
+    @property
+    @pulumi.getter(name="stringListValue")
+    def string_list_value(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
+        return pulumi.get(self, "string_list_value")
+
+    @string_list_value.setter
+    def string_list_value(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
+        pulumi.set(self, "string_list_value", value)
+
+
+if not MYPY:
+    class DataAccessorDocumentAttributeValue2PropertiesArgsDict(TypedDict):
+        long_value: pulumi.Input[float]
+elif False:
+    DataAccessorDocumentAttributeValue2PropertiesArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorDocumentAttributeValue2PropertiesArgs:
+    def __init__(__self__, *,
+                 long_value: pulumi.Input[float]):
+        pulumi.set(__self__, "long_value", long_value)
+
+    @property
+    @pulumi.getter(name="longValue")
+    def long_value(self) -> pulumi.Input[float]:
+        return pulumi.get(self, "long_value")
+
+    @long_value.setter
+    def long_value(self, value: pulumi.Input[float]):
+        pulumi.set(self, "long_value", value)
+
+
+if not MYPY:
+    class DataAccessorDocumentAttributeValue3PropertiesArgsDict(TypedDict):
+        date_value: pulumi.Input[str]
+elif False:
+    DataAccessorDocumentAttributeValue3PropertiesArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorDocumentAttributeValue3PropertiesArgs:
+    def __init__(__self__, *,
+                 date_value: pulumi.Input[str]):
+        pulumi.set(__self__, "date_value", date_value)
+
+    @property
+    @pulumi.getter(name="dateValue")
+    def date_value(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "date_value")
+
+    @date_value.setter
+    def date_value(self, value: pulumi.Input[str]):
+        pulumi.set(self, "date_value", value)
+
+
+if not MYPY:
+    class DataAccessorDocumentAttributeArgsDict(TypedDict):
+        name: pulumi.Input[str]
+        value: pulumi.Input[Union['DataAccessorDocumentAttributeValue0PropertiesArgsDict', 'DataAccessorDocumentAttributeValue1PropertiesArgsDict', 'DataAccessorDocumentAttributeValue2PropertiesArgsDict', 'DataAccessorDocumentAttributeValue3PropertiesArgsDict']]
+elif False:
+    DataAccessorDocumentAttributeArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataAccessorDocumentAttributeArgs:
+    def __init__(__self__, *,
+                 name: pulumi.Input[str],
+                 value: pulumi.Input[Union['DataAccessorDocumentAttributeValue0PropertiesArgs', 'DataAccessorDocumentAttributeValue1PropertiesArgs', 'DataAccessorDocumentAttributeValue2PropertiesArgs', 'DataAccessorDocumentAttributeValue3PropertiesArgs']]):
+        pulumi.set(__self__, "name", name)
+        pulumi.set(__self__, "value", value)
+
+    @property
+    @pulumi.getter
+    def name(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "name")
+
+    @name.setter
+    def name(self, value: pulumi.Input[str]):
+        pulumi.set(self, "name", value)
+
+    @property
+    @pulumi.getter
+    def value(self) -> pulumi.Input[Union['DataAccessorDocumentAttributeValue0PropertiesArgs', 'DataAccessorDocumentAttributeValue1PropertiesArgs', 'DataAccessorDocumentAttributeValue2PropertiesArgs', 'DataAccessorDocumentAttributeValue3PropertiesArgs']]:
+        return pulumi.get(self, "value")
+
+    @value.setter
+    def value(self, value: pulumi.Input[Union['DataAccessorDocumentAttributeValue0PropertiesArgs', 'DataAccessorDocumentAttributeValue1PropertiesArgs', 'DataAccessorDocumentAttributeValue2PropertiesArgs', 'DataAccessorDocumentAttributeValue3PropertiesArgs']]):
+        pulumi.set(self, "value", value)
+
+
 if not MYPY:
     class DataSourceDocumentAttributeConditionArgsDict(TypedDict):
         key: pulumi.Input[str]
@@ -689,6 +1054,28 @@ def s3_bucket_name(self, value: Optional[pulumi.Input[str]]):
         pulumi.set(self, "s3_bucket_name", value)
 
 
+if not MYPY:
+    class DataSourceImageExtractionConfigurationArgsDict(TypedDict):
+        image_extraction_status: pulumi.Input['DataSourceImageExtractionStatus']
+elif False:
+    DataSourceImageExtractionConfigurationArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataSourceImageExtractionConfigurationArgs:
+    def __init__(__self__, *,
+                 image_extraction_status: pulumi.Input['DataSourceImageExtractionStatus']):
+        pulumi.set(__self__, "image_extraction_status", image_extraction_status)
+
+    @property
+    @pulumi.getter(name="imageExtractionStatus")
+    def image_extraction_status(self) -> pulumi.Input['DataSourceImageExtractionStatus']:
+        return pulumi.get(self, "image_extraction_status")
+
+    @image_extraction_status.setter
+    def image_extraction_status(self, value: pulumi.Input['DataSourceImageExtractionStatus']):
+        pulumi.set(self, "image_extraction_status", value)
+
+
 if not MYPY:
     class DataSourceInlineDocumentEnrichmentConfigurationArgsDict(TypedDict):
         condition: NotRequired[pulumi.Input['DataSourceDocumentAttributeConditionArgsDict']]
@@ -761,6 +1148,29 @@ def target(self, value: Optional[pulumi.Input['DataSourceDocumentAttributeTarget
         pulumi.set(self, "target", value)
 
 
+if not MYPY:
+    class DataSourceMediaExtractionConfigurationArgsDict(TypedDict):
+        image_extraction_configuration: NotRequired[pulumi.Input['DataSourceImageExtractionConfigurationArgsDict']]
+elif False:
+    DataSourceMediaExtractionConfigurationArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class DataSourceMediaExtractionConfigurationArgs:
+    def __init__(__self__, *,
+                 image_extraction_configuration: Optional[pulumi.Input['DataSourceImageExtractionConfigurationArgs']] = None):
+        if image_extraction_configuration is not None:
+            pulumi.set(__self__, "image_extraction_configuration", image_extraction_configuration)
+
+    @property
+    @pulumi.getter(name="imageExtractionConfiguration")
+    def image_extraction_configuration(self) -> Optional[pulumi.Input['DataSourceImageExtractionConfigurationArgs']]:
+        return pulumi.get(self, "image_extraction_configuration")
+
+    @image_extraction_configuration.setter
+    def image_extraction_configuration(self, value: Optional[pulumi.Input['DataSourceImageExtractionConfigurationArgs']]):
+        pulumi.set(self, "image_extraction_configuration", value)
+
+
 if not MYPY:
     class DataSourceVpcConfigurationArgsDict(TypedDict):
         security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]]
@@ -1144,6 +1554,8 @@ def __init__(__self__):
     class PluginOAuth2ClientCredentialConfigurationArgsDict(TypedDict):
         role_arn: pulumi.Input[str]
         secret_arn: pulumi.Input[str]
+        authorization_url: NotRequired[pulumi.Input[str]]
+        token_url: NotRequired[pulumi.Input[str]]
 elif False:
     PluginOAuth2ClientCredentialConfigurationArgsDict: TypeAlias = Mapping[str, Any]
 
@@ -1151,9 +1563,15 @@ class PluginOAuth2ClientCredentialConfigurationArgsDict(TypedDict):
 class PluginOAuth2ClientCredentialConfigurationArgs:
     def __init__(__self__, *,
                  role_arn: pulumi.Input[str],
-                 secret_arn: pulumi.Input[str]):
+                 secret_arn: pulumi.Input[str],
+                 authorization_url: Optional[pulumi.Input[str]] = None,
+                 token_url: Optional[pulumi.Input[str]] = None):
         pulumi.set(__self__, "role_arn", role_arn)
         pulumi.set(__self__, "secret_arn", secret_arn)
+        if authorization_url is not None:
+            pulumi.set(__self__, "authorization_url", authorization_url)
+        if token_url is not None:
+            pulumi.set(__self__, "token_url", token_url)
 
     @property
     @pulumi.getter(name="roleArn")
@@ -1173,6 +1591,24 @@ def secret_arn(self) -> pulumi.Input[str]:
     def secret_arn(self, value: pulumi.Input[str]):
         pulumi.set(self, "secret_arn", value)
 
+    @property
+    @pulumi.getter(name="authorizationUrl")
+    def authorization_url(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "authorization_url")
+
+    @authorization_url.setter
+    def authorization_url(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "authorization_url", value)
+
+    @property
+    @pulumi.getter(name="tokenUrl")
+    def token_url(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "token_url")
+
+    @token_url.setter
+    def token_url(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "token_url", value)
+
 
 if not MYPY:
     class PluginS3ArgsDict(TypedDict):
@@ -1296,6 +1732,68 @@ def index_id(self, value: pulumi.Input[str]):
         pulumi.set(self, "index_id", value)
 
 
+if not MYPY:
+    class WebExperienceCustomizationConfigurationArgsDict(TypedDict):
+        custom_css_url: NotRequired[pulumi.Input[str]]
+        favicon_url: NotRequired[pulumi.Input[str]]
+        font_url: NotRequired[pulumi.Input[str]]
+        logo_url: NotRequired[pulumi.Input[str]]
+elif False:
+    WebExperienceCustomizationConfigurationArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class WebExperienceCustomizationConfigurationArgs:
+    def __init__(__self__, *,
+                 custom_css_url: Optional[pulumi.Input[str]] = None,
+                 favicon_url: Optional[pulumi.Input[str]] = None,
+                 font_url: Optional[pulumi.Input[str]] = None,
+                 logo_url: Optional[pulumi.Input[str]] = None):
+        if custom_css_url is not None:
+            pulumi.set(__self__, "custom_css_url", custom_css_url)
+        if favicon_url is not None:
+            pulumi.set(__self__, "favicon_url", favicon_url)
+        if font_url is not None:
+            pulumi.set(__self__, "font_url", font_url)
+        if logo_url is not None:
+            pulumi.set(__self__, "logo_url", logo_url)
+
+    @property
+    @pulumi.getter(name="customCssUrl")
+    def custom_css_url(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "custom_css_url")
+
+    @custom_css_url.setter
+    def custom_css_url(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "custom_css_url", value)
+
+    @property
+    @pulumi.getter(name="faviconUrl")
+    def favicon_url(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "favicon_url")
+
+    @favicon_url.setter
+    def favicon_url(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "favicon_url", value)
+
+    @property
+    @pulumi.getter(name="fontUrl")
+    def font_url(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "font_url")
+
+    @font_url.setter
+    def font_url(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "font_url", value)
+
+    @property
+    @pulumi.getter(name="logoUrl")
+    def logo_url(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "logo_url")
+
+    @logo_url.setter
+    def logo_url(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "logo_url", value)
+
+
 if not MYPY:
     class WebExperienceIdentityProviderConfiguration0PropertiesArgsDict(TypedDict):
         saml_configuration: pulumi.Input['WebExperienceSamlProviderConfigurationArgsDict']
diff --git a/sdk/python/pulumi_aws_native/qbusiness/application.py b/sdk/python/pulumi_aws_native/qbusiness/application.py
index 4618465d28..343a6a6818 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/application.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/application.py
@@ -35,6 +35,7 @@ def __init__(__self__, *,
                  identity_type: Optional[pulumi.Input['ApplicationIdentityType']] = None,
                  personalization_configuration: Optional[pulumi.Input['ApplicationPersonalizationConfigurationArgs']] = None,
                  q_apps_configuration: Optional[pulumi.Input['ApplicationQAppsConfigurationArgs']] = None,
+                 quick_sight_configuration: Optional[pulumi.Input['ApplicationQuickSightConfigurationArgs']] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None):
         """
@@ -75,6 +76,8 @@ def __init__(__self__, *,
             pulumi.set(__self__, "personalization_configuration", personalization_configuration)
         if q_apps_configuration is not None:
             pulumi.set(__self__, "q_apps_configuration", q_apps_configuration)
+        if quick_sight_configuration is not None:
+            pulumi.set(__self__, "quick_sight_configuration", quick_sight_configuration)
         if role_arn is not None:
             pulumi.set(__self__, "role_arn", role_arn)
         if tags is not None:
@@ -211,6 +214,15 @@ def q_apps_configuration(self) -> Optional[pulumi.Input['ApplicationQAppsConfigu
     def q_apps_configuration(self, value: Optional[pulumi.Input['ApplicationQAppsConfigurationArgs']]):
         pulumi.set(self, "q_apps_configuration", value)
 
+    @property
+    @pulumi.getter(name="quickSightConfiguration")
+    def quick_sight_configuration(self) -> Optional[pulumi.Input['ApplicationQuickSightConfigurationArgs']]:
+        return pulumi.get(self, "quick_sight_configuration")
+
+    @quick_sight_configuration.setter
+    def quick_sight_configuration(self, value: Optional[pulumi.Input['ApplicationQuickSightConfigurationArgs']]):
+        pulumi.set(self, "quick_sight_configuration", value)
+
     @property
     @pulumi.getter(name="roleArn")
     def role_arn(self) -> Optional[pulumi.Input[str]]:
@@ -252,6 +264,7 @@ def __init__(__self__,
                  identity_type: Optional[pulumi.Input['ApplicationIdentityType']] = None,
                  personalization_configuration: Optional[pulumi.Input[Union['ApplicationPersonalizationConfigurationArgs', 'ApplicationPersonalizationConfigurationArgsDict']]] = None,
                  q_apps_configuration: Optional[pulumi.Input[Union['ApplicationQAppsConfigurationArgs', 'ApplicationQAppsConfigurationArgsDict']]] = None,
+                 quick_sight_configuration: Optional[pulumi.Input[Union['ApplicationQuickSightConfigurationArgs', 'ApplicationQuickSightConfigurationArgsDict']]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
                  __props__=None):
@@ -310,6 +323,7 @@ def _internal_init(__self__,
                  identity_type: Optional[pulumi.Input['ApplicationIdentityType']] = None,
                  personalization_configuration: Optional[pulumi.Input[Union['ApplicationPersonalizationConfigurationArgs', 'ApplicationPersonalizationConfigurationArgsDict']]] = None,
                  q_apps_configuration: Optional[pulumi.Input[Union['ApplicationQAppsConfigurationArgs', 'ApplicationQAppsConfigurationArgsDict']]] = None,
+                 quick_sight_configuration: Optional[pulumi.Input[Union['ApplicationQuickSightConfigurationArgs', 'ApplicationQuickSightConfigurationArgsDict']]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
                  __props__=None):
@@ -334,6 +348,7 @@ def _internal_init(__self__,
             __props__.__dict__["identity_type"] = identity_type
             __props__.__dict__["personalization_configuration"] = personalization_configuration
             __props__.__dict__["q_apps_configuration"] = q_apps_configuration
+            __props__.__dict__["quick_sight_configuration"] = quick_sight_configuration
             __props__.__dict__["role_arn"] = role_arn
             __props__.__dict__["tags"] = tags
             __props__.__dict__["application_arn"] = None
@@ -342,7 +357,7 @@ def _internal_init(__self__,
             __props__.__dict__["identity_center_application_arn"] = None
             __props__.__dict__["status"] = None
             __props__.__dict__["updated_at"] = None
-        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clientIdsForOidc[*]", "encryptionConfiguration", "iamIdentityProviderArn", "identityType"])
+        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clientIdsForOidc[*]", "encryptionConfiguration", "iamIdentityProviderArn", "identityType", "quickSightConfiguration"])
         opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
         super(Application, __self__).__init__(
             'aws-native:qbusiness:Application',
@@ -381,6 +396,7 @@ def get(resource_name: str,
         __props__.__dict__["identity_type"] = None
         __props__.__dict__["personalization_configuration"] = None
         __props__.__dict__["q_apps_configuration"] = None
+        __props__.__dict__["quick_sight_configuration"] = None
         __props__.__dict__["role_arn"] = None
         __props__.__dict__["status"] = None
         __props__.__dict__["tags"] = None
@@ -506,6 +522,11 @@ def q_apps_configuration(self) -> pulumi.Output[Optional['outputs.ApplicationQAp
         """
         return pulumi.get(self, "q_apps_configuration")
 
+    @property
+    @pulumi.getter(name="quickSightConfiguration")
+    def quick_sight_configuration(self) -> pulumi.Output[Optional['outputs.ApplicationQuickSightConfiguration']]:
+        return pulumi.get(self, "quick_sight_configuration")
+
     @property
     @pulumi.getter(name="roleArn")
     def role_arn(self) -> pulumi.Output[Optional[str]]:
diff --git a/sdk/python/pulumi_aws_native/qbusiness/data_accessor.py b/sdk/python/pulumi_aws_native/qbusiness/data_accessor.py
new file mode 100644
index 0000000000..9ea7e026ae
--- /dev/null
+++ b/sdk/python/pulumi_aws_native/qbusiness/data_accessor.py
@@ -0,0 +1,244 @@
+# coding=utf-8
+# *** WARNING: this file was generated by pulumi-language-python. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+    from typing import NotRequired, TypedDict, TypeAlias
+else:
+    from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+from . import outputs
+from .. import _inputs as _root_inputs
+from .. import outputs as _root_outputs
+from ._inputs import *
+
+__all__ = ['DataAccessorArgs', 'DataAccessor']
+
+@pulumi.input_type
+class DataAccessorArgs:
+    def __init__(__self__, *,
+                 action_configurations: pulumi.Input[Sequence[pulumi.Input['DataAccessorActionConfigurationArgs']]],
+                 display_name: pulumi.Input[str],
+                 principal: pulumi.Input[str],
+                 application_id: Optional[pulumi.Input[str]] = None,
+                 tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None):
+        """
+        The set of arguments for constructing a DataAccessor resource.
+        """
+        pulumi.set(__self__, "action_configurations", action_configurations)
+        pulumi.set(__self__, "display_name", display_name)
+        pulumi.set(__self__, "principal", principal)
+        if application_id is not None:
+            pulumi.set(__self__, "application_id", application_id)
+        if tags is not None:
+            pulumi.set(__self__, "tags", tags)
+
+    @property
+    @pulumi.getter(name="actionConfigurations")
+    def action_configurations(self) -> pulumi.Input[Sequence[pulumi.Input['DataAccessorActionConfigurationArgs']]]:
+        return pulumi.get(self, "action_configurations")
+
+    @action_configurations.setter
+    def action_configurations(self, value: pulumi.Input[Sequence[pulumi.Input['DataAccessorActionConfigurationArgs']]]):
+        pulumi.set(self, "action_configurations", value)
+
+    @property
+    @pulumi.getter(name="displayName")
+    def display_name(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "display_name")
+
+    @display_name.setter
+    def display_name(self, value: pulumi.Input[str]):
+        pulumi.set(self, "display_name", value)
+
+    @property
+    @pulumi.getter
+    def principal(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "principal")
+
+    @principal.setter
+    def principal(self, value: pulumi.Input[str]):
+        pulumi.set(self, "principal", value)
+
+    @property
+    @pulumi.getter(name="applicationId")
+    def application_id(self) -> Optional[pulumi.Input[str]]:
+        return pulumi.get(self, "application_id")
+
+    @application_id.setter
+    def application_id(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "application_id", value)
+
+    @property
+    @pulumi.getter
+    def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]:
+        return pulumi.get(self, "tags")
+
+    @tags.setter
+    def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]):
+        pulumi.set(self, "tags", value)
+
+
+class DataAccessor(pulumi.CustomResource):
+    @overload
+    def __init__(__self__,
+                 resource_name: str,
+                 opts: Optional[pulumi.ResourceOptions] = None,
+                 action_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessorActionConfigurationArgs', 'DataAccessorActionConfigurationArgsDict']]]]] = None,
+                 application_id: Optional[pulumi.Input[str]] = None,
+                 display_name: Optional[pulumi.Input[str]] = None,
+                 principal: Optional[pulumi.Input[str]] = None,
+                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
+                 __props__=None):
+        """
+        Definition of AWS::QBusiness::DataAccessor Resource Type
+
+        :param str resource_name: The name of the resource.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        ...
+    @overload
+    def __init__(__self__,
+                 resource_name: str,
+                 args: DataAccessorArgs,
+                 opts: Optional[pulumi.ResourceOptions] = None):
+        """
+        Definition of AWS::QBusiness::DataAccessor Resource Type
+
+        :param str resource_name: The name of the resource.
+        :param DataAccessorArgs args: The arguments to use to populate this resource's properties.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        ...
+    def __init__(__self__, resource_name: str, *args, **kwargs):
+        resource_args, opts = _utilities.get_resource_args_opts(DataAccessorArgs, pulumi.ResourceOptions, *args, **kwargs)
+        if resource_args is not None:
+            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
+        else:
+            __self__._internal_init(resource_name, *args, **kwargs)
+
+    def _internal_init(__self__,
+                 resource_name: str,
+                 opts: Optional[pulumi.ResourceOptions] = None,
+                 action_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataAccessorActionConfigurationArgs', 'DataAccessorActionConfigurationArgsDict']]]]] = None,
+                 application_id: Optional[pulumi.Input[str]] = None,
+                 display_name: Optional[pulumi.Input[str]] = None,
+                 principal: Optional[pulumi.Input[str]] = None,
+                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
+                 __props__=None):
+        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
+        if not isinstance(opts, pulumi.ResourceOptions):
+            raise TypeError('Expected resource options to be a ResourceOptions instance')
+        if opts.id is None:
+            if __props__ is not None:
+                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
+            __props__ = DataAccessorArgs.__new__(DataAccessorArgs)
+
+            if action_configurations is None and not opts.urn:
+                raise TypeError("Missing required property 'action_configurations'")
+            __props__.__dict__["action_configurations"] = action_configurations
+            __props__.__dict__["application_id"] = application_id
+            if display_name is None and not opts.urn:
+                raise TypeError("Missing required property 'display_name'")
+            __props__.__dict__["display_name"] = display_name
+            if principal is None and not opts.urn:
+                raise TypeError("Missing required property 'principal'")
+            __props__.__dict__["principal"] = principal
+            __props__.__dict__["tags"] = tags
+            __props__.__dict__["created_at"] = None
+            __props__.__dict__["data_accessor_arn"] = None
+            __props__.__dict__["data_accessor_id"] = None
+            __props__.__dict__["idc_application_arn"] = None
+            __props__.__dict__["updated_at"] = None
+        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["applicationId", "principal"])
+        opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
+        super(DataAccessor, __self__).__init__(
+            'aws-native:qbusiness:DataAccessor',
+            resource_name,
+            __props__,
+            opts)
+
+    @staticmethod
+    def get(resource_name: str,
+            id: pulumi.Input[str],
+            opts: Optional[pulumi.ResourceOptions] = None) -> 'DataAccessor':
+        """
+        Get an existing DataAccessor resource's state with the given name, id, and optional extra
+        properties used to qualify the lookup.
+
+        :param str resource_name: The unique name of the resulting resource.
+        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
+
+        __props__ = DataAccessorArgs.__new__(DataAccessorArgs)
+
+        __props__.__dict__["action_configurations"] = None
+        __props__.__dict__["application_id"] = None
+        __props__.__dict__["created_at"] = None
+        __props__.__dict__["data_accessor_arn"] = None
+        __props__.__dict__["data_accessor_id"] = None
+        __props__.__dict__["display_name"] = None
+        __props__.__dict__["idc_application_arn"] = None
+        __props__.__dict__["principal"] = None
+        __props__.__dict__["tags"] = None
+        __props__.__dict__["updated_at"] = None
+        return DataAccessor(resource_name, opts=opts, __props__=__props__)
+
+    @property
+    @pulumi.getter(name="actionConfigurations")
+    def action_configurations(self) -> pulumi.Output[Sequence['outputs.DataAccessorActionConfiguration']]:
+        return pulumi.get(self, "action_configurations")
+
+    @property
+    @pulumi.getter(name="applicationId")
+    def application_id(self) -> pulumi.Output[Optional[str]]:
+        return pulumi.get(self, "application_id")
+
+    @property
+    @pulumi.getter(name="createdAt")
+    def created_at(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "created_at")
+
+    @property
+    @pulumi.getter(name="dataAccessorArn")
+    def data_accessor_arn(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "data_accessor_arn")
+
+    @property
+    @pulumi.getter(name="dataAccessorId")
+    def data_accessor_id(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "data_accessor_id")
+
+    @property
+    @pulumi.getter(name="displayName")
+    def display_name(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "display_name")
+
+    @property
+    @pulumi.getter(name="idcApplicationArn")
+    def idc_application_arn(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "idc_application_arn")
+
+    @property
+    @pulumi.getter
+    def principal(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "principal")
+
+    @property
+    @pulumi.getter
+    def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]:
+        return pulumi.get(self, "tags")
+
+    @property
+    @pulumi.getter(name="updatedAt")
+    def updated_at(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "updated_at")
+
diff --git a/sdk/python/pulumi_aws_native/qbusiness/data_source.py b/sdk/python/pulumi_aws_native/qbusiness/data_source.py
index 7d8f8552fa..8bc6cf82de 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/data_source.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/data_source.py
@@ -30,6 +30,7 @@ def __init__(__self__, *,
                  index_id: pulumi.Input[str],
                  description: Optional[pulumi.Input[str]] = None,
                  document_enrichment_configuration: Optional[pulumi.Input['DataSourceDocumentEnrichmentConfigurationArgs']] = None,
+                 media_extraction_configuration: Optional[pulumi.Input['DataSourceMediaExtractionConfigurationArgs']] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
                  sync_schedule: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None,
@@ -71,6 +72,8 @@ def __init__(__self__, *,
             pulumi.set(__self__, "description", description)
         if document_enrichment_configuration is not None:
             pulumi.set(__self__, "document_enrichment_configuration", document_enrichment_configuration)
+        if media_extraction_configuration is not None:
+            pulumi.set(__self__, "media_extraction_configuration", media_extraction_configuration)
         if role_arn is not None:
             pulumi.set(__self__, "role_arn", role_arn)
         if sync_schedule is not None:
@@ -166,6 +169,15 @@ def document_enrichment_configuration(self) -> Optional[pulumi.Input['DataSource
     def document_enrichment_configuration(self, value: Optional[pulumi.Input['DataSourceDocumentEnrichmentConfigurationArgs']]):
         pulumi.set(self, "document_enrichment_configuration", value)
 
+    @property
+    @pulumi.getter(name="mediaExtractionConfiguration")
+    def media_extraction_configuration(self) -> Optional[pulumi.Input['DataSourceMediaExtractionConfigurationArgs']]:
+        return pulumi.get(self, "media_extraction_configuration")
+
+    @media_extraction_configuration.setter
+    def media_extraction_configuration(self, value: Optional[pulumi.Input['DataSourceMediaExtractionConfigurationArgs']]):
+        pulumi.set(self, "media_extraction_configuration", value)
+
     @property
     @pulumi.getter(name="roleArn")
     def role_arn(self) -> Optional[pulumi.Input[str]]:
@@ -228,6 +240,7 @@ def __init__(__self__,
                  display_name: Optional[pulumi.Input[str]] = None,
                  document_enrichment_configuration: Optional[pulumi.Input[Union['DataSourceDocumentEnrichmentConfigurationArgs', 'DataSourceDocumentEnrichmentConfigurationArgsDict']]] = None,
                  index_id: Optional[pulumi.Input[str]] = None,
+                 media_extraction_configuration: Optional[pulumi.Input[Union['DataSourceMediaExtractionConfigurationArgs', 'DataSourceMediaExtractionConfigurationArgsDict']]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
                  sync_schedule: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
@@ -295,6 +308,7 @@ def _internal_init(__self__,
                  display_name: Optional[pulumi.Input[str]] = None,
                  document_enrichment_configuration: Optional[pulumi.Input[Union['DataSourceDocumentEnrichmentConfigurationArgs', 'DataSourceDocumentEnrichmentConfigurationArgsDict']]] = None,
                  index_id: Optional[pulumi.Input[str]] = None,
+                 media_extraction_configuration: Optional[pulumi.Input[Union['DataSourceMediaExtractionConfigurationArgs', 'DataSourceMediaExtractionConfigurationArgsDict']]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
                  sync_schedule: Optional[pulumi.Input[str]] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
@@ -322,6 +336,7 @@ def _internal_init(__self__,
             if index_id is None and not opts.urn:
                 raise TypeError("Missing required property 'index_id'")
             __props__.__dict__["index_id"] = index_id
+            __props__.__dict__["media_extraction_configuration"] = media_extraction_configuration
             __props__.__dict__["role_arn"] = role_arn
             __props__.__dict__["sync_schedule"] = sync_schedule
             __props__.__dict__["tags"] = tags
@@ -365,6 +380,7 @@ def get(resource_name: str,
         __props__.__dict__["display_name"] = None
         __props__.__dict__["document_enrichment_configuration"] = None
         __props__.__dict__["index_id"] = None
+        __props__.__dict__["media_extraction_configuration"] = None
         __props__.__dict__["role_arn"] = None
         __props__.__dict__["status"] = None
         __props__.__dict__["sync_schedule"] = None
@@ -460,6 +476,11 @@ def index_id(self) -> pulumi.Output[str]:
         """
         return pulumi.get(self, "index_id")
 
+    @property
+    @pulumi.getter(name="mediaExtractionConfiguration")
+    def media_extraction_configuration(self) -> pulumi.Output[Optional['outputs.DataSourceMediaExtractionConfiguration']]:
+        return pulumi.get(self, "media_extraction_configuration")
+
     @property
     @pulumi.getter(name="roleArn")
     def role_arn(self) -> pulumi.Output[Optional[str]]:
diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_data_accessor.py b/sdk/python/pulumi_aws_native/qbusiness/get_data_accessor.py
new file mode 100644
index 0000000000..8199882e01
--- /dev/null
+++ b/sdk/python/pulumi_aws_native/qbusiness/get_data_accessor.py
@@ -0,0 +1,151 @@
+# coding=utf-8
+# *** WARNING: this file was generated by pulumi-language-python. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+    from typing import NotRequired, TypedDict, TypeAlias
+else:
+    from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+from . import outputs
+from .. import outputs as _root_outputs
+
+__all__ = [
+    'GetDataAccessorResult',
+    'AwaitableGetDataAccessorResult',
+    'get_data_accessor',
+    'get_data_accessor_output',
+]
+
+@pulumi.output_type
+class GetDataAccessorResult:
+    def __init__(__self__, action_configurations=None, created_at=None, data_accessor_arn=None, data_accessor_id=None, display_name=None, idc_application_arn=None, tags=None, updated_at=None):
+        if action_configurations and not isinstance(action_configurations, list):
+            raise TypeError("Expected argument 'action_configurations' to be a list")
+        pulumi.set(__self__, "action_configurations", action_configurations)
+        if created_at and not isinstance(created_at, str):
+            raise TypeError("Expected argument 'created_at' to be a str")
+        pulumi.set(__self__, "created_at", created_at)
+        if data_accessor_arn and not isinstance(data_accessor_arn, str):
+            raise TypeError("Expected argument 'data_accessor_arn' to be a str")
+        pulumi.set(__self__, "data_accessor_arn", data_accessor_arn)
+        if data_accessor_id and not isinstance(data_accessor_id, str):
+            raise TypeError("Expected argument 'data_accessor_id' to be a str")
+        pulumi.set(__self__, "data_accessor_id", data_accessor_id)
+        if display_name and not isinstance(display_name, str):
+            raise TypeError("Expected argument 'display_name' to be a str")
+        pulumi.set(__self__, "display_name", display_name)
+        if idc_application_arn and not isinstance(idc_application_arn, str):
+            raise TypeError("Expected argument 'idc_application_arn' to be a str")
+        pulumi.set(__self__, "idc_application_arn", idc_application_arn)
+        if tags and not isinstance(tags, list):
+            raise TypeError("Expected argument 'tags' to be a list")
+        pulumi.set(__self__, "tags", tags)
+        if updated_at and not isinstance(updated_at, str):
+            raise TypeError("Expected argument 'updated_at' to be a str")
+        pulumi.set(__self__, "updated_at", updated_at)
+
+    @property
+    @pulumi.getter(name="actionConfigurations")
+    def action_configurations(self) -> Optional[Sequence['outputs.DataAccessorActionConfiguration']]:
+        return pulumi.get(self, "action_configurations")
+
+    @property
+    @pulumi.getter(name="createdAt")
+    def created_at(self) -> Optional[str]:
+        return pulumi.get(self, "created_at")
+
+    @property
+    @pulumi.getter(name="dataAccessorArn")
+    def data_accessor_arn(self) -> Optional[str]:
+        return pulumi.get(self, "data_accessor_arn")
+
+    @property
+    @pulumi.getter(name="dataAccessorId")
+    def data_accessor_id(self) -> Optional[str]:
+        return pulumi.get(self, "data_accessor_id")
+
+    @property
+    @pulumi.getter(name="displayName")
+    def display_name(self) -> Optional[str]:
+        return pulumi.get(self, "display_name")
+
+    @property
+    @pulumi.getter(name="idcApplicationArn")
+    def idc_application_arn(self) -> Optional[str]:
+        return pulumi.get(self, "idc_application_arn")
+
+    @property
+    @pulumi.getter
+    def tags(self) -> Optional[Sequence['_root_outputs.Tag']]:
+        return pulumi.get(self, "tags")
+
+    @property
+    @pulumi.getter(name="updatedAt")
+    def updated_at(self) -> Optional[str]:
+        return pulumi.get(self, "updated_at")
+
+
+class AwaitableGetDataAccessorResult(GetDataAccessorResult):
+    # pylint: disable=using-constant-test
+    def __await__(self):
+        if False:
+            yield self
+        return GetDataAccessorResult(
+            action_configurations=self.action_configurations,
+            created_at=self.created_at,
+            data_accessor_arn=self.data_accessor_arn,
+            data_accessor_id=self.data_accessor_id,
+            display_name=self.display_name,
+            idc_application_arn=self.idc_application_arn,
+            tags=self.tags,
+            updated_at=self.updated_at)
+
+
+def get_data_accessor(application_id: Optional[str] = None,
+                      data_accessor_id: Optional[str] = None,
+                      opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataAccessorResult:
+    """
+    Definition of AWS::QBusiness::DataAccessor Resource Type
+    """
+    __args__ = dict()
+    __args__['applicationId'] = application_id
+    __args__['dataAccessorId'] = data_accessor_id
+    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
+    __ret__ = pulumi.runtime.invoke('aws-native:qbusiness:getDataAccessor', __args__, opts=opts, typ=GetDataAccessorResult).value
+
+    return AwaitableGetDataAccessorResult(
+        action_configurations=pulumi.get(__ret__, 'action_configurations'),
+        created_at=pulumi.get(__ret__, 'created_at'),
+        data_accessor_arn=pulumi.get(__ret__, 'data_accessor_arn'),
+        data_accessor_id=pulumi.get(__ret__, 'data_accessor_id'),
+        display_name=pulumi.get(__ret__, 'display_name'),
+        idc_application_arn=pulumi.get(__ret__, 'idc_application_arn'),
+        tags=pulumi.get(__ret__, 'tags'),
+        updated_at=pulumi.get(__ret__, 'updated_at'))
+def get_data_accessor_output(application_id: Optional[pulumi.Input[str]] = None,
+                             data_accessor_id: Optional[pulumi.Input[str]] = None,
+                             opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataAccessorResult]:
+    """
+    Definition of AWS::QBusiness::DataAccessor Resource Type
+    """
+    __args__ = dict()
+    __args__['applicationId'] = application_id
+    __args__['dataAccessorId'] = data_accessor_id
+    opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
+    __ret__ = pulumi.runtime.invoke_output('aws-native:qbusiness:getDataAccessor', __args__, opts=opts, typ=GetDataAccessorResult)
+    return __ret__.apply(lambda __response__: GetDataAccessorResult(
+        action_configurations=pulumi.get(__response__, 'action_configurations'),
+        created_at=pulumi.get(__response__, 'created_at'),
+        data_accessor_arn=pulumi.get(__response__, 'data_accessor_arn'),
+        data_accessor_id=pulumi.get(__response__, 'data_accessor_id'),
+        display_name=pulumi.get(__response__, 'display_name'),
+        idc_application_arn=pulumi.get(__response__, 'idc_application_arn'),
+        tags=pulumi.get(__response__, 'tags'),
+        updated_at=pulumi.get(__response__, 'updated_at')))
diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py b/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py
index bfe7e70ae1..8910135aa9 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/get_data_source.py
@@ -26,7 +26,7 @@
 
 @pulumi.output_type
 class GetDataSourceResult:
-    def __init__(__self__, configuration=None, created_at=None, data_source_arn=None, data_source_id=None, description=None, display_name=None, document_enrichment_configuration=None, role_arn=None, status=None, sync_schedule=None, tags=None, type=None, updated_at=None, vpc_configuration=None):
+    def __init__(__self__, configuration=None, created_at=None, data_source_arn=None, data_source_id=None, description=None, display_name=None, document_enrichment_configuration=None, media_extraction_configuration=None, role_arn=None, status=None, sync_schedule=None, tags=None, type=None, updated_at=None, vpc_configuration=None):
         if configuration and not isinstance(configuration, dict):
             raise TypeError("Expected argument 'configuration' to be a dict")
         pulumi.set(__self__, "configuration", configuration)
@@ -48,6 +48,9 @@ def __init__(__self__, configuration=None, created_at=None, data_source_arn=None
         if document_enrichment_configuration and not isinstance(document_enrichment_configuration, dict):
             raise TypeError("Expected argument 'document_enrichment_configuration' to be a dict")
         pulumi.set(__self__, "document_enrichment_configuration", document_enrichment_configuration)
+        if media_extraction_configuration and not isinstance(media_extraction_configuration, dict):
+            raise TypeError("Expected argument 'media_extraction_configuration' to be a dict")
+        pulumi.set(__self__, "media_extraction_configuration", media_extraction_configuration)
         if role_arn and not isinstance(role_arn, str):
             raise TypeError("Expected argument 'role_arn' to be a str")
         pulumi.set(__self__, "role_arn", role_arn)
@@ -140,6 +143,11 @@ def document_enrichment_configuration(self) -> Optional['outputs.DataSourceDocum
         """
         return pulumi.get(self, "document_enrichment_configuration")
 
+    @property
+    @pulumi.getter(name="mediaExtractionConfiguration")
+    def media_extraction_configuration(self) -> Optional['outputs.DataSourceMediaExtractionConfiguration']:
+        return pulumi.get(self, "media_extraction_configuration")
+
     @property
     @pulumi.getter(name="roleArn")
     def role_arn(self) -> Optional[str]:
@@ -212,6 +220,7 @@ def __await__(self):
             description=self.description,
             display_name=self.display_name,
             document_enrichment_configuration=self.document_enrichment_configuration,
+            media_extraction_configuration=self.media_extraction_configuration,
             role_arn=self.role_arn,
             status=self.status,
             sync_schedule=self.sync_schedule,
@@ -248,6 +257,7 @@ def get_data_source(application_id: Optional[str] = None,
         description=pulumi.get(__ret__, 'description'),
         display_name=pulumi.get(__ret__, 'display_name'),
         document_enrichment_configuration=pulumi.get(__ret__, 'document_enrichment_configuration'),
+        media_extraction_configuration=pulumi.get(__ret__, 'media_extraction_configuration'),
         role_arn=pulumi.get(__ret__, 'role_arn'),
         status=pulumi.get(__ret__, 'status'),
         sync_schedule=pulumi.get(__ret__, 'sync_schedule'),
@@ -281,6 +291,7 @@ def get_data_source_output(application_id: Optional[pulumi.Input[str]] = None,
         description=pulumi.get(__response__, 'description'),
         display_name=pulumi.get(__response__, 'display_name'),
         document_enrichment_configuration=pulumi.get(__response__, 'document_enrichment_configuration'),
+        media_extraction_configuration=pulumi.get(__response__, 'media_extraction_configuration'),
         role_arn=pulumi.get(__response__, 'role_arn'),
         status=pulumi.get(__response__, 'status'),
         sync_schedule=pulumi.get(__response__, 'sync_schedule'),
diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py b/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py
index e8e41969c1..207b25537d 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/get_web_experience.py
@@ -26,10 +26,13 @@
 
 @pulumi.output_type
 class GetWebExperienceResult:
-    def __init__(__self__, created_at=None, default_endpoint=None, identity_provider_configuration=None, origins=None, role_arn=None, sample_prompts_control_mode=None, status=None, subtitle=None, tags=None, title=None, updated_at=None, web_experience_arn=None, web_experience_id=None, welcome_message=None):
+    def __init__(__self__, created_at=None, customization_configuration=None, default_endpoint=None, identity_provider_configuration=None, origins=None, role_arn=None, sample_prompts_control_mode=None, status=None, subtitle=None, tags=None, title=None, updated_at=None, web_experience_arn=None, web_experience_id=None, welcome_message=None):
         if created_at and not isinstance(created_at, str):
             raise TypeError("Expected argument 'created_at' to be a str")
         pulumi.set(__self__, "created_at", created_at)
+        if customization_configuration and not isinstance(customization_configuration, dict):
+            raise TypeError("Expected argument 'customization_configuration' to be a dict")
+        pulumi.set(__self__, "customization_configuration", customization_configuration)
         if default_endpoint and not isinstance(default_endpoint, str):
             raise TypeError("Expected argument 'default_endpoint' to be a str")
         pulumi.set(__self__, "default_endpoint", default_endpoint)
@@ -78,6 +81,11 @@ def created_at(self) -> Optional[str]:
         """
         return pulumi.get(self, "created_at")
 
+    @property
+    @pulumi.getter(name="customizationConfiguration")
+    def customization_configuration(self) -> Optional['outputs.WebExperienceCustomizationConfiguration']:
+        return pulumi.get(self, "customization_configuration")
+
     @property
     @pulumi.getter(name="defaultEndpoint")
     def default_endpoint(self) -> Optional[str]:
@@ -194,6 +202,7 @@ def __await__(self):
             yield self
         return GetWebExperienceResult(
             created_at=self.created_at,
+            customization_configuration=self.customization_configuration,
             default_endpoint=self.default_endpoint,
             identity_provider_configuration=self.identity_provider_configuration,
             origins=self.origins,
@@ -227,6 +236,7 @@ def get_web_experience(application_id: Optional[str] = None,
 
     return AwaitableGetWebExperienceResult(
         created_at=pulumi.get(__ret__, 'created_at'),
+        customization_configuration=pulumi.get(__ret__, 'customization_configuration'),
         default_endpoint=pulumi.get(__ret__, 'default_endpoint'),
         identity_provider_configuration=pulumi.get(__ret__, 'identity_provider_configuration'),
         origins=pulumi.get(__ret__, 'origins'),
@@ -257,6 +267,7 @@ def get_web_experience_output(application_id: Optional[pulumi.Input[str]] = None
     __ret__ = pulumi.runtime.invoke_output('aws-native:qbusiness:getWebExperience', __args__, opts=opts, typ=GetWebExperienceResult)
     return __ret__.apply(lambda __response__: GetWebExperienceResult(
         created_at=pulumi.get(__response__, 'created_at'),
+        customization_configuration=pulumi.get(__response__, 'customization_configuration'),
         default_endpoint=pulumi.get(__response__, 'default_endpoint'),
         identity_provider_configuration=pulumi.get(__response__, 'identity_provider_configuration'),
         origins=pulumi.get(__response__, 'origins'),
diff --git a/sdk/python/pulumi_aws_native/qbusiness/outputs.py b/sdk/python/pulumi_aws_native/qbusiness/outputs.py
index d2a04ba20e..2ef27bd801 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/outputs.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/outputs.py
@@ -22,6 +22,15 @@
     'ApplicationEncryptionConfiguration',
     'ApplicationPersonalizationConfiguration',
     'ApplicationQAppsConfiguration',
+    'ApplicationQuickSightConfiguration',
+    'DataAccessorActionConfiguration',
+    'DataAccessorActionFilterConfiguration',
+    'DataAccessorAttributeFilter',
+    'DataAccessorDocumentAttribute',
+    'DataAccessorDocumentAttributeValue0Properties',
+    'DataAccessorDocumentAttributeValue1Properties',
+    'DataAccessorDocumentAttributeValue2Properties',
+    'DataAccessorDocumentAttributeValue3Properties',
     'DataSourceDocumentAttributeCondition',
     'DataSourceDocumentAttributeTarget',
     'DataSourceDocumentAttributeValue0Properties',
@@ -30,7 +39,9 @@
     'DataSourceDocumentAttributeValue3Properties',
     'DataSourceDocumentEnrichmentConfiguration',
     'DataSourceHookConfiguration',
+    'DataSourceImageExtractionConfiguration',
     'DataSourceInlineDocumentEnrichmentConfiguration',
+    'DataSourceMediaExtractionConfiguration',
     'DataSourceVpcConfiguration',
     'IndexCapacityConfiguration',
     'IndexDocumentAttributeConfiguration',
@@ -50,6 +61,7 @@
     'RetrieverConfiguration1Properties',
     'RetrieverKendraIndexConfiguration',
     'RetrieverNativeIndexConfiguration',
+    'WebExperienceCustomizationConfiguration',
     'WebExperienceIdentityProviderConfiguration0Properties',
     'WebExperienceIdentityProviderConfiguration1Properties',
     'WebExperienceOpenIdConnectProviderConfiguration',
@@ -246,6 +258,356 @@ def q_apps_control_mode(self) -> 'ApplicationQAppsControlMode':
         return pulumi.get(self, "q_apps_control_mode")
 
 
+@pulumi.output_type
+class ApplicationQuickSightConfiguration(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "clientNamespace":
+            suggest = "client_namespace"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in ApplicationQuickSightConfiguration. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        ApplicationQuickSightConfiguration.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        ApplicationQuickSightConfiguration.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 client_namespace: str):
+        pulumi.set(__self__, "client_namespace", client_namespace)
+
+    @property
+    @pulumi.getter(name="clientNamespace")
+    def client_namespace(self) -> str:
+        return pulumi.get(self, "client_namespace")
+
+
+@pulumi.output_type
+class DataAccessorActionConfiguration(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "filterConfiguration":
+            suggest = "filter_configuration"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorActionConfiguration. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorActionConfiguration.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorActionConfiguration.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 action: str,
+                 filter_configuration: Optional['outputs.DataAccessorActionFilterConfiguration'] = None):
+        pulumi.set(__self__, "action", action)
+        if filter_configuration is not None:
+            pulumi.set(__self__, "filter_configuration", filter_configuration)
+
+    @property
+    @pulumi.getter
+    def action(self) -> str:
+        return pulumi.get(self, "action")
+
+    @property
+    @pulumi.getter(name="filterConfiguration")
+    def filter_configuration(self) -> Optional['outputs.DataAccessorActionFilterConfiguration']:
+        return pulumi.get(self, "filter_configuration")
+
+
+@pulumi.output_type
+class DataAccessorActionFilterConfiguration(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "documentAttributeFilter":
+            suggest = "document_attribute_filter"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorActionFilterConfiguration. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorActionFilterConfiguration.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorActionFilterConfiguration.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 document_attribute_filter: 'outputs.DataAccessorAttributeFilter'):
+        pulumi.set(__self__, "document_attribute_filter", document_attribute_filter)
+
+    @property
+    @pulumi.getter(name="documentAttributeFilter")
+    def document_attribute_filter(self) -> 'outputs.DataAccessorAttributeFilter':
+        return pulumi.get(self, "document_attribute_filter")
+
+
+@pulumi.output_type
+class DataAccessorAttributeFilter(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "andAllFilters":
+            suggest = "and_all_filters"
+        elif key == "containsAll":
+            suggest = "contains_all"
+        elif key == "containsAny":
+            suggest = "contains_any"
+        elif key == "equalsTo":
+            suggest = "equals_to"
+        elif key == "greaterThan":
+            suggest = "greater_than"
+        elif key == "greaterThanOrEquals":
+            suggest = "greater_than_or_equals"
+        elif key == "lessThan":
+            suggest = "less_than"
+        elif key == "lessThanOrEquals":
+            suggest = "less_than_or_equals"
+        elif key == "notFilter":
+            suggest = "not_filter"
+        elif key == "orAllFilters":
+            suggest = "or_all_filters"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorAttributeFilter. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorAttributeFilter.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorAttributeFilter.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 and_all_filters: Optional[Sequence['outputs.DataAccessorAttributeFilter']] = None,
+                 contains_all: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 contains_any: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 equals_to: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 greater_than: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 greater_than_or_equals: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 less_than: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 less_than_or_equals: Optional['outputs.DataAccessorDocumentAttribute'] = None,
+                 not_filter: Optional['outputs.DataAccessorAttributeFilter'] = None,
+                 or_all_filters: Optional[Sequence['outputs.DataAccessorAttributeFilter']] = None):
+        if and_all_filters is not None:
+            pulumi.set(__self__, "and_all_filters", and_all_filters)
+        if contains_all is not None:
+            pulumi.set(__self__, "contains_all", contains_all)
+        if contains_any is not None:
+            pulumi.set(__self__, "contains_any", contains_any)
+        if equals_to is not None:
+            pulumi.set(__self__, "equals_to", equals_to)
+        if greater_than is not None:
+            pulumi.set(__self__, "greater_than", greater_than)
+        if greater_than_or_equals is not None:
+            pulumi.set(__self__, "greater_than_or_equals", greater_than_or_equals)
+        if less_than is not None:
+            pulumi.set(__self__, "less_than", less_than)
+        if less_than_or_equals is not None:
+            pulumi.set(__self__, "less_than_or_equals", less_than_or_equals)
+        if not_filter is not None:
+            pulumi.set(__self__, "not_filter", not_filter)
+        if or_all_filters is not None:
+            pulumi.set(__self__, "or_all_filters", or_all_filters)
+
+    @property
+    @pulumi.getter(name="andAllFilters")
+    def and_all_filters(self) -> Optional[Sequence['outputs.DataAccessorAttributeFilter']]:
+        return pulumi.get(self, "and_all_filters")
+
+    @property
+    @pulumi.getter(name="containsAll")
+    def contains_all(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "contains_all")
+
+    @property
+    @pulumi.getter(name="containsAny")
+    def contains_any(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "contains_any")
+
+    @property
+    @pulumi.getter(name="equalsTo")
+    def equals_to(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "equals_to")
+
+    @property
+    @pulumi.getter(name="greaterThan")
+    def greater_than(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "greater_than")
+
+    @property
+    @pulumi.getter(name="greaterThanOrEquals")
+    def greater_than_or_equals(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "greater_than_or_equals")
+
+    @property
+    @pulumi.getter(name="lessThan")
+    def less_than(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "less_than")
+
+    @property
+    @pulumi.getter(name="lessThanOrEquals")
+    def less_than_or_equals(self) -> Optional['outputs.DataAccessorDocumentAttribute']:
+        return pulumi.get(self, "less_than_or_equals")
+
+    @property
+    @pulumi.getter(name="notFilter")
+    def not_filter(self) -> Optional['outputs.DataAccessorAttributeFilter']:
+        return pulumi.get(self, "not_filter")
+
+    @property
+    @pulumi.getter(name="orAllFilters")
+    def or_all_filters(self) -> Optional[Sequence['outputs.DataAccessorAttributeFilter']]:
+        return pulumi.get(self, "or_all_filters")
+
+
+@pulumi.output_type
+class DataAccessorDocumentAttribute(dict):
+    def __init__(__self__, *,
+                 name: str,
+                 value: Any):
+        pulumi.set(__self__, "name", name)
+        pulumi.set(__self__, "value", value)
+
+    @property
+    @pulumi.getter
+    def name(self) -> str:
+        return pulumi.get(self, "name")
+
+    @property
+    @pulumi.getter
+    def value(self) -> Any:
+        return pulumi.get(self, "value")
+
+
+@pulumi.output_type
+class DataAccessorDocumentAttributeValue0Properties(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "stringValue":
+            suggest = "string_value"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorDocumentAttributeValue0Properties. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorDocumentAttributeValue0Properties.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorDocumentAttributeValue0Properties.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 string_value: str):
+        pulumi.set(__self__, "string_value", string_value)
+
+    @property
+    @pulumi.getter(name="stringValue")
+    def string_value(self) -> str:
+        return pulumi.get(self, "string_value")
+
+
+@pulumi.output_type
+class DataAccessorDocumentAttributeValue1Properties(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "stringListValue":
+            suggest = "string_list_value"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorDocumentAttributeValue1Properties. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorDocumentAttributeValue1Properties.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorDocumentAttributeValue1Properties.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 string_list_value: Sequence[str]):
+        pulumi.set(__self__, "string_list_value", string_list_value)
+
+    @property
+    @pulumi.getter(name="stringListValue")
+    def string_list_value(self) -> Sequence[str]:
+        return pulumi.get(self, "string_list_value")
+
+
+@pulumi.output_type
+class DataAccessorDocumentAttributeValue2Properties(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "longValue":
+            suggest = "long_value"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorDocumentAttributeValue2Properties. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorDocumentAttributeValue2Properties.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorDocumentAttributeValue2Properties.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 long_value: float):
+        pulumi.set(__self__, "long_value", long_value)
+
+    @property
+    @pulumi.getter(name="longValue")
+    def long_value(self) -> float:
+        return pulumi.get(self, "long_value")
+
+
+@pulumi.output_type
+class DataAccessorDocumentAttributeValue3Properties(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "dateValue":
+            suggest = "date_value"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataAccessorDocumentAttributeValue3Properties. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataAccessorDocumentAttributeValue3Properties.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataAccessorDocumentAttributeValue3Properties.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 date_value: str):
+        pulumi.set(__self__, "date_value", date_value)
+
+    @property
+    @pulumi.getter(name="dateValue")
+    def date_value(self) -> str:
+        return pulumi.get(self, "date_value")
+
+
 @pulumi.output_type
 class DataSourceDocumentAttributeCondition(dict):
     def __init__(__self__, *,
@@ -624,6 +986,35 @@ def s3_bucket_name(self) -> Optional[str]:
         return pulumi.get(self, "s3_bucket_name")
 
 
+@pulumi.output_type
+class DataSourceImageExtractionConfiguration(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "imageExtractionStatus":
+            suggest = "image_extraction_status"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataSourceImageExtractionConfiguration. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataSourceImageExtractionConfiguration.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataSourceImageExtractionConfiguration.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 image_extraction_status: 'DataSourceImageExtractionStatus'):
+        pulumi.set(__self__, "image_extraction_status", image_extraction_status)
+
+    @property
+    @pulumi.getter(name="imageExtractionStatus")
+    def image_extraction_status(self) -> 'DataSourceImageExtractionStatus':
+        return pulumi.get(self, "image_extraction_status")
+
+
 @pulumi.output_type
 class DataSourceInlineDocumentEnrichmentConfiguration(dict):
     @staticmethod
@@ -684,6 +1075,36 @@ def target(self) -> Optional['outputs.DataSourceDocumentAttributeTarget']:
         return pulumi.get(self, "target")
 
 
+@pulumi.output_type
+class DataSourceMediaExtractionConfiguration(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "imageExtractionConfiguration":
+            suggest = "image_extraction_configuration"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in DataSourceMediaExtractionConfiguration. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        DataSourceMediaExtractionConfiguration.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        DataSourceMediaExtractionConfiguration.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 image_extraction_configuration: Optional['outputs.DataSourceImageExtractionConfiguration'] = None):
+        if image_extraction_configuration is not None:
+            pulumi.set(__self__, "image_extraction_configuration", image_extraction_configuration)
+
+    @property
+    @pulumi.getter(name="imageExtractionConfiguration")
+    def image_extraction_configuration(self) -> Optional['outputs.DataSourceImageExtractionConfiguration']:
+        return pulumi.get(self, "image_extraction_configuration")
+
+
 @pulumi.output_type
 class DataSourceVpcConfiguration(dict):
     @staticmethod
@@ -1103,6 +1524,10 @@ def __key_warning(key: str):
             suggest = "role_arn"
         elif key == "secretArn":
             suggest = "secret_arn"
+        elif key == "authorizationUrl":
+            suggest = "authorization_url"
+        elif key == "tokenUrl":
+            suggest = "token_url"
 
         if suggest:
             pulumi.log.warn(f"Key '{key}' not found in PluginOAuth2ClientCredentialConfiguration. Access the value via the '{suggest}' property getter instead.")
@@ -1117,9 +1542,15 @@ def get(self, key: str, default = None) -> Any:
 
     def __init__(__self__, *,
                  role_arn: str,
-                 secret_arn: str):
+                 secret_arn: str,
+                 authorization_url: Optional[str] = None,
+                 token_url: Optional[str] = None):
         pulumi.set(__self__, "role_arn", role_arn)
         pulumi.set(__self__, "secret_arn", secret_arn)
+        if authorization_url is not None:
+            pulumi.set(__self__, "authorization_url", authorization_url)
+        if token_url is not None:
+            pulumi.set(__self__, "token_url", token_url)
 
     @property
     @pulumi.getter(name="roleArn")
@@ -1131,6 +1562,16 @@ def role_arn(self) -> str:
     def secret_arn(self) -> str:
         return pulumi.get(self, "secret_arn")
 
+    @property
+    @pulumi.getter(name="authorizationUrl")
+    def authorization_url(self) -> Optional[str]:
+        return pulumi.get(self, "authorization_url")
+
+    @property
+    @pulumi.getter(name="tokenUrl")
+    def token_url(self) -> Optional[str]:
+        return pulumi.get(self, "token_url")
+
 
 @pulumi.output_type
 class PluginS3(dict):
@@ -1267,6 +1708,66 @@ def index_id(self) -> str:
         return pulumi.get(self, "index_id")
 
 
+@pulumi.output_type
+class WebExperienceCustomizationConfiguration(dict):
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "customCssUrl":
+            suggest = "custom_css_url"
+        elif key == "faviconUrl":
+            suggest = "favicon_url"
+        elif key == "fontUrl":
+            suggest = "font_url"
+        elif key == "logoUrl":
+            suggest = "logo_url"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in WebExperienceCustomizationConfiguration. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        WebExperienceCustomizationConfiguration.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        WebExperienceCustomizationConfiguration.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 custom_css_url: Optional[str] = None,
+                 favicon_url: Optional[str] = None,
+                 font_url: Optional[str] = None,
+                 logo_url: Optional[str] = None):
+        if custom_css_url is not None:
+            pulumi.set(__self__, "custom_css_url", custom_css_url)
+        if favicon_url is not None:
+            pulumi.set(__self__, "favicon_url", favicon_url)
+        if font_url is not None:
+            pulumi.set(__self__, "font_url", font_url)
+        if logo_url is not None:
+            pulumi.set(__self__, "logo_url", logo_url)
+
+    @property
+    @pulumi.getter(name="customCssUrl")
+    def custom_css_url(self) -> Optional[str]:
+        return pulumi.get(self, "custom_css_url")
+
+    @property
+    @pulumi.getter(name="faviconUrl")
+    def favicon_url(self) -> Optional[str]:
+        return pulumi.get(self, "favicon_url")
+
+    @property
+    @pulumi.getter(name="fontUrl")
+    def font_url(self) -> Optional[str]:
+        return pulumi.get(self, "font_url")
+
+    @property
+    @pulumi.getter(name="logoUrl")
+    def logo_url(self) -> Optional[str]:
+        return pulumi.get(self, "logo_url")
+
+
 @pulumi.output_type
 class WebExperienceIdentityProviderConfiguration0Properties(dict):
     @staticmethod
diff --git a/sdk/python/pulumi_aws_native/qbusiness/permission.py b/sdk/python/pulumi_aws_native/qbusiness/permission.py
new file mode 100644
index 0000000000..748294704f
--- /dev/null
+++ b/sdk/python/pulumi_aws_native/qbusiness/permission.py
@@ -0,0 +1,185 @@
+# coding=utf-8
+# *** WARNING: this file was generated by pulumi-language-python. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+    from typing import NotRequired, TypedDict, TypeAlias
+else:
+    from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+
+__all__ = ['PermissionArgs', 'Permission']
+
+@pulumi.input_type
+class PermissionArgs:
+    def __init__(__self__, *,
+                 actions: pulumi.Input[Sequence[pulumi.Input[str]]],
+                 application_id: pulumi.Input[str],
+                 principal: pulumi.Input[str],
+                 statement_id: pulumi.Input[str]):
+        """
+        The set of arguments for constructing a Permission resource.
+        """
+        pulumi.set(__self__, "actions", actions)
+        pulumi.set(__self__, "application_id", application_id)
+        pulumi.set(__self__, "principal", principal)
+        pulumi.set(__self__, "statement_id", statement_id)
+
+    @property
+    @pulumi.getter
+    def actions(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
+        return pulumi.get(self, "actions")
+
+    @actions.setter
+    def actions(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
+        pulumi.set(self, "actions", value)
+
+    @property
+    @pulumi.getter(name="applicationId")
+    def application_id(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "application_id")
+
+    @application_id.setter
+    def application_id(self, value: pulumi.Input[str]):
+        pulumi.set(self, "application_id", value)
+
+    @property
+    @pulumi.getter
+    def principal(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "principal")
+
+    @principal.setter
+    def principal(self, value: pulumi.Input[str]):
+        pulumi.set(self, "principal", value)
+
+    @property
+    @pulumi.getter(name="statementId")
+    def statement_id(self) -> pulumi.Input[str]:
+        return pulumi.get(self, "statement_id")
+
+    @statement_id.setter
+    def statement_id(self, value: pulumi.Input[str]):
+        pulumi.set(self, "statement_id", value)
+
+
+class Permission(pulumi.CustomResource):
+    @overload
+    def __init__(__self__,
+                 resource_name: str,
+                 opts: Optional[pulumi.ResourceOptions] = None,
+                 actions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
+                 application_id: Optional[pulumi.Input[str]] = None,
+                 principal: Optional[pulumi.Input[str]] = None,
+                 statement_id: Optional[pulumi.Input[str]] = None,
+                 __props__=None):
+        """
+        Definition of AWS::QBusiness::Permission Resource Type
+
+        :param str resource_name: The name of the resource.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        ...
+    @overload
+    def __init__(__self__,
+                 resource_name: str,
+                 args: PermissionArgs,
+                 opts: Optional[pulumi.ResourceOptions] = None):
+        """
+        Definition of AWS::QBusiness::Permission Resource Type
+
+        :param str resource_name: The name of the resource.
+        :param PermissionArgs args: The arguments to use to populate this resource's properties.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        ...
+    def __init__(__self__, resource_name: str, *args, **kwargs):
+        resource_args, opts = _utilities.get_resource_args_opts(PermissionArgs, pulumi.ResourceOptions, *args, **kwargs)
+        if resource_args is not None:
+            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
+        else:
+            __self__._internal_init(resource_name, *args, **kwargs)
+
+    def _internal_init(__self__,
+                 resource_name: str,
+                 opts: Optional[pulumi.ResourceOptions] = None,
+                 actions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
+                 application_id: Optional[pulumi.Input[str]] = None,
+                 principal: Optional[pulumi.Input[str]] = None,
+                 statement_id: Optional[pulumi.Input[str]] = None,
+                 __props__=None):
+        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
+        if not isinstance(opts, pulumi.ResourceOptions):
+            raise TypeError('Expected resource options to be a ResourceOptions instance')
+        if opts.id is None:
+            if __props__ is not None:
+                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
+            __props__ = PermissionArgs.__new__(PermissionArgs)
+
+            if actions is None and not opts.urn:
+                raise TypeError("Missing required property 'actions'")
+            __props__.__dict__["actions"] = actions
+            if application_id is None and not opts.urn:
+                raise TypeError("Missing required property 'application_id'")
+            __props__.__dict__["application_id"] = application_id
+            if principal is None and not opts.urn:
+                raise TypeError("Missing required property 'principal'")
+            __props__.__dict__["principal"] = principal
+            if statement_id is None and not opts.urn:
+                raise TypeError("Missing required property 'statement_id'")
+            __props__.__dict__["statement_id"] = statement_id
+        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["actions[*]", "applicationId", "principal", "statementId"])
+        opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
+        super(Permission, __self__).__init__(
+            'aws-native:qbusiness:Permission',
+            resource_name,
+            __props__,
+            opts)
+
+    @staticmethod
+    def get(resource_name: str,
+            id: pulumi.Input[str],
+            opts: Optional[pulumi.ResourceOptions] = None) -> 'Permission':
+        """
+        Get an existing Permission resource's state with the given name, id, and optional extra
+        properties used to qualify the lookup.
+
+        :param str resource_name: The unique name of the resulting resource.
+        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
+
+        __props__ = PermissionArgs.__new__(PermissionArgs)
+
+        __props__.__dict__["actions"] = None
+        __props__.__dict__["application_id"] = None
+        __props__.__dict__["principal"] = None
+        __props__.__dict__["statement_id"] = None
+        return Permission(resource_name, opts=opts, __props__=__props__)
+
+    @property
+    @pulumi.getter
+    def actions(self) -> pulumi.Output[Sequence[str]]:
+        return pulumi.get(self, "actions")
+
+    @property
+    @pulumi.getter(name="applicationId")
+    def application_id(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "application_id")
+
+    @property
+    @pulumi.getter
+    def principal(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "principal")
+
+    @property
+    @pulumi.getter(name="statementId")
+    def statement_id(self) -> pulumi.Output[str]:
+        return pulumi.get(self, "statement_id")
+
diff --git a/sdk/python/pulumi_aws_native/qbusiness/plugin.py b/sdk/python/pulumi_aws_native/qbusiness/plugin.py
index 7e07939cae..db22e1fa60 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/plugin.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/plugin.py
@@ -24,29 +24,30 @@
 @pulumi.input_type
 class PluginArgs:
     def __init__(__self__, *,
-                 application_id: pulumi.Input[str],
                  auth_configuration: pulumi.Input[Union['PluginAuthConfiguration0PropertiesArgs', 'PluginAuthConfiguration1PropertiesArgs', 'PluginAuthConfiguration2PropertiesArgs']],
                  display_name: pulumi.Input[str],
                  type: pulumi.Input['PluginType'],
+                 application_id: Optional[pulumi.Input[str]] = None,
                  custom_plugin_configuration: Optional[pulumi.Input['PluginCustomPluginConfigurationArgs']] = None,
                  server_url: Optional[pulumi.Input[str]] = None,
                  state: Optional[pulumi.Input['PluginState']] = None,
                  tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None):
         """
         The set of arguments for constructing a Plugin resource.
-        :param pulumi.Input[str] application_id: The identifier of the application that will contain the plugin.
         :param pulumi.Input[Union['PluginAuthConfiguration0PropertiesArgs', 'PluginAuthConfiguration1PropertiesArgs', 'PluginAuthConfiguration2PropertiesArgs']] auth_configuration: Authentication configuration information for an Amazon Q Business plugin.
         :param pulumi.Input[str] display_name: The name of the plugin.
         :param pulumi.Input['PluginType'] type: The type of the plugin.
+        :param pulumi.Input[str] application_id: The identifier of the application that will contain the plugin.
         :param pulumi.Input['PluginCustomPluginConfigurationArgs'] custom_plugin_configuration: Configuration information required to create a custom plugin.
         :param pulumi.Input[str] server_url: The plugin server URL used for configuration.
         :param pulumi.Input['PluginState'] state: The current status of the plugin.
         :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.
         """
-        pulumi.set(__self__, "application_id", application_id)
         pulumi.set(__self__, "auth_configuration", auth_configuration)
         pulumi.set(__self__, "display_name", display_name)
         pulumi.set(__self__, "type", type)
+        if application_id is not None:
+            pulumi.set(__self__, "application_id", application_id)
         if custom_plugin_configuration is not None:
             pulumi.set(__self__, "custom_plugin_configuration", custom_plugin_configuration)
         if server_url is not None:
@@ -56,18 +57,6 @@ def __init__(__self__, *,
         if tags is not None:
             pulumi.set(__self__, "tags", tags)
 
-    @property
-    @pulumi.getter(name="applicationId")
-    def application_id(self) -> pulumi.Input[str]:
-        """
-        The identifier of the application that will contain the plugin.
-        """
-        return pulumi.get(self, "application_id")
-
-    @application_id.setter
-    def application_id(self, value: pulumi.Input[str]):
-        pulumi.set(self, "application_id", value)
-
     @property
     @pulumi.getter(name="authConfiguration")
     def auth_configuration(self) -> pulumi.Input[Union['PluginAuthConfiguration0PropertiesArgs', 'PluginAuthConfiguration1PropertiesArgs', 'PluginAuthConfiguration2PropertiesArgs']]:
@@ -104,6 +93,18 @@ def type(self) -> pulumi.Input['PluginType']:
     def type(self, value: pulumi.Input['PluginType']):
         pulumi.set(self, "type", value)
 
+    @property
+    @pulumi.getter(name="applicationId")
+    def application_id(self) -> Optional[pulumi.Input[str]]:
+        """
+        The identifier of the application that will contain the plugin.
+        """
+        return pulumi.get(self, "application_id")
+
+    @application_id.setter
+    def application_id(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "application_id", value)
+
     @property
     @pulumi.getter(name="customPluginConfiguration")
     def custom_plugin_configuration(self) -> Optional[pulumi.Input['PluginCustomPluginConfigurationArgs']]:
@@ -222,8 +223,6 @@ def _internal_init(__self__,
                 raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
             __props__ = PluginArgs.__new__(PluginArgs)
 
-            if application_id is None and not opts.urn:
-                raise TypeError("Missing required property 'application_id'")
             __props__.__dict__["application_id"] = application_id
             if auth_configuration is None and not opts.urn:
                 raise TypeError("Missing required property 'auth_configuration'")
@@ -284,7 +283,7 @@ def get(resource_name: str,
 
     @property
     @pulumi.getter(name="applicationId")
-    def application_id(self) -> pulumi.Output[str]:
+    def application_id(self) -> pulumi.Output[Optional[str]]:
         """
         The identifier of the application that will contain the plugin.
         """
diff --git a/sdk/python/pulumi_aws_native/qbusiness/web_experience.py b/sdk/python/pulumi_aws_native/qbusiness/web_experience.py
index 2c1c79d48c..2257142a2d 100644
--- a/sdk/python/pulumi_aws_native/qbusiness/web_experience.py
+++ b/sdk/python/pulumi_aws_native/qbusiness/web_experience.py
@@ -25,6 +25,7 @@
 class WebExperienceArgs:
     def __init__(__self__, *,
                  application_id: pulumi.Input[str],
+                 customization_configuration: Optional[pulumi.Input['WebExperienceCustomizationConfigurationArgs']] = None,
                  identity_provider_configuration: Optional[pulumi.Input[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgs']]] = None,
                  origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
@@ -50,6 +51,8 @@ def __init__(__self__, *,
         :param pulumi.Input[str] welcome_message: A message in an Amazon Q Business web experience.
         """
         pulumi.set(__self__, "application_id", application_id)
+        if customization_configuration is not None:
+            pulumi.set(__self__, "customization_configuration", customization_configuration)
         if identity_provider_configuration is not None:
             pulumi.set(__self__, "identity_provider_configuration", identity_provider_configuration)
         if origins is not None:
@@ -79,6 +82,15 @@ def application_id(self) -> pulumi.Input[str]:
     def application_id(self, value: pulumi.Input[str]):
         pulumi.set(self, "application_id", value)
 
+    @property
+    @pulumi.getter(name="customizationConfiguration")
+    def customization_configuration(self) -> Optional[pulumi.Input['WebExperienceCustomizationConfigurationArgs']]:
+        return pulumi.get(self, "customization_configuration")
+
+    @customization_configuration.setter
+    def customization_configuration(self, value: Optional[pulumi.Input['WebExperienceCustomizationConfigurationArgs']]):
+        pulumi.set(self, "customization_configuration", value)
+
     @property
     @pulumi.getter(name="identityProviderConfiguration")
     def identity_provider_configuration(self) -> Optional[pulumi.Input[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgs']]]:
@@ -186,6 +198,7 @@ def __init__(__self__,
                  resource_name: str,
                  opts: Optional[pulumi.ResourceOptions] = None,
                  application_id: Optional[pulumi.Input[str]] = None,
+                 customization_configuration: Optional[pulumi.Input[Union['WebExperienceCustomizationConfigurationArgs', 'WebExperienceCustomizationConfigurationArgsDict']]] = None,
                  identity_provider_configuration: Optional[pulumi.Input[Union[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration0PropertiesArgsDict'], Union['WebExperienceIdentityProviderConfiguration1PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgsDict']]]] = None,
                  origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
@@ -239,6 +252,7 @@ def _internal_init(__self__,
                  resource_name: str,
                  opts: Optional[pulumi.ResourceOptions] = None,
                  application_id: Optional[pulumi.Input[str]] = None,
+                 customization_configuration: Optional[pulumi.Input[Union['WebExperienceCustomizationConfigurationArgs', 'WebExperienceCustomizationConfigurationArgsDict']]] = None,
                  identity_provider_configuration: Optional[pulumi.Input[Union[Union['WebExperienceIdentityProviderConfiguration0PropertiesArgs', 'WebExperienceIdentityProviderConfiguration0PropertiesArgsDict'], Union['WebExperienceIdentityProviderConfiguration1PropertiesArgs', 'WebExperienceIdentityProviderConfiguration1PropertiesArgsDict']]]] = None,
                  origins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                  role_arn: Optional[pulumi.Input[str]] = None,
@@ -259,6 +273,7 @@ def _internal_init(__self__,
             if application_id is None and not opts.urn:
                 raise TypeError("Missing required property 'application_id'")
             __props__.__dict__["application_id"] = application_id
+            __props__.__dict__["customization_configuration"] = customization_configuration
             __props__.__dict__["identity_provider_configuration"] = identity_provider_configuration
             __props__.__dict__["origins"] = origins
             __props__.__dict__["role_arn"] = role_arn
@@ -299,6 +314,7 @@ def get(resource_name: str,
 
         __props__.__dict__["application_id"] = None
         __props__.__dict__["created_at"] = None
+        __props__.__dict__["customization_configuration"] = None
         __props__.__dict__["default_endpoint"] = None
         __props__.__dict__["identity_provider_configuration"] = None
         __props__.__dict__["origins"] = None
@@ -330,6 +346,11 @@ def created_at(self) -> pulumi.Output[str]:
         """
         return pulumi.get(self, "created_at")
 
+    @property
+    @pulumi.getter(name="customizationConfiguration")
+    def customization_configuration(self) -> pulumi.Output[Optional['outputs.WebExperienceCustomizationConfiguration']]:
+        return pulumi.get(self, "customization_configuration")
+
     @property
     @pulumi.getter(name="defaultEndpoint")
     def default_endpoint(self) -> pulumi.Output[str]:
diff --git a/sdk/python/pulumi_aws_native/sagemaker/__init__.py b/sdk/python/pulumi_aws_native/sagemaker/__init__.py
index 8d64a7c984..353e86f0e6 100644
--- a/sdk/python/pulumi_aws_native/sagemaker/__init__.py
+++ b/sdk/python/pulumi_aws_native/sagemaker/__init__.py
@@ -35,6 +35,7 @@
 from .get_model_package_group import *
 from .get_model_quality_job_definition import *
 from .get_monitoring_schedule import *
+from .get_partner_app import *
 from .get_pipeline import *
 from .get_project import *
 from .get_space import *
@@ -52,6 +53,7 @@
 from .model_package_group import *
 from .model_quality_job_definition import *
 from .monitoring_schedule import *
+from .partner_app import *
 from .pipeline import *
 from .project import *
 from .space import *
diff --git a/sdk/python/pulumi_aws_native/sagemaker/_enums.py b/sdk/python/pulumi_aws_native/sagemaker/_enums.py
index 47157d5e8a..0848099e06 100644
--- a/sdk/python/pulumi_aws_native/sagemaker/_enums.py
+++ b/sdk/python/pulumi_aws_native/sagemaker/_enums.py
@@ -91,6 +91,8 @@
     'MonitoringScheduleMonitoringType',
     'MonitoringScheduleS3OutputS3UploadMode',
     'MonitoringScheduleStatus',
+    'PartnerAppAuthType',
+    'PartnerAppType',
     'ProjectStatus',
     'SpaceAppType',
     'SpaceResourceSpecInstanceType',
@@ -978,6 +980,23 @@ class MonitoringScheduleStatus(str, Enum):
     STOPPED = "Stopped"
 
 
+class PartnerAppAuthType(str, Enum):
+    """
+    The Auth type of PartnerApp.
+    """
+    IAM = "IAM"
+
+
+class PartnerAppType(str, Enum):
+    """
+    The type of PartnerApp.
+    """
+    LAKERA_GUARD = "lakera-guard"
+    COMET = "comet"
+    DEEPCHECKS_LLM_EVALUATION = "deepchecks-llm-evaluation"
+    FIDDLER = "fiddler"
+
+
 class ProjectStatus(str, Enum):
     """
     The status of a project.
diff --git a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py
index d72061e74e..c4d55868e7 100644
--- a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py
+++ b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py
@@ -466,6 +466,10 @@
     'OnlineStoreConfigPropertiesArgsDict',
     'ParallelismConfigurationPropertiesArgs',
     'ParallelismConfigurationPropertiesArgsDict',
+    'PartnerAppConfigArgs',
+    'PartnerAppConfigArgsDict',
+    'PartnerAppMaintenanceConfigArgs',
+    'PartnerAppMaintenanceConfigArgsDict',
     'PipelineDefinition0PropertiesArgs',
     'PipelineDefinition0PropertiesArgsDict',
     'PipelineDefinition1PropertiesArgs',
@@ -16821,6 +16825,97 @@ def max_parallel_execution_steps(self, value: pulumi.Input[int]):
         pulumi.set(self, "max_parallel_execution_steps", value)
 
 
+if not MYPY:
+    class PartnerAppConfigArgsDict(TypedDict):
+        """
+        A collection of configuration settings for the PartnerApp.
+        """
+        admin_users: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
+        """
+        A list of users with administrator privileges for the PartnerApp.
+        """
+        arguments: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
+        """
+        A list of arguments to pass to the PartnerApp.
+        """
+elif False:
+    PartnerAppConfigArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class PartnerAppConfigArgs:
+    def __init__(__self__, *,
+                 admin_users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
+                 arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
+        """
+        A collection of configuration settings for the PartnerApp.
+        :param pulumi.Input[Sequence[pulumi.Input[str]]] admin_users: A list of users with administrator privileges for the PartnerApp.
+        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] arguments: A list of arguments to pass to the PartnerApp.
+        """
+        if admin_users is not None:
+            pulumi.set(__self__, "admin_users", admin_users)
+        if arguments is not None:
+            pulumi.set(__self__, "arguments", arguments)
+
+    @property
+    @pulumi.getter(name="adminUsers")
+    def admin_users(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
+        """
+        A list of users with administrator privileges for the PartnerApp.
+        """
+        return pulumi.get(self, "admin_users")
+
+    @admin_users.setter
+    def admin_users(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
+        pulumi.set(self, "admin_users", value)
+
+    @property
+    @pulumi.getter
+    def arguments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
+        """
+        A list of arguments to pass to the PartnerApp.
+        """
+        return pulumi.get(self, "arguments")
+
+    @arguments.setter
+    def arguments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
+        pulumi.set(self, "arguments", value)
+
+
+if not MYPY:
+    class PartnerAppMaintenanceConfigArgsDict(TypedDict):
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        maintenance_window_start: pulumi.Input[str]
+        """
+        The maintenance window start day and time for the PartnerApp.
+        """
+elif False:
+    PartnerAppMaintenanceConfigArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class PartnerAppMaintenanceConfigArgs:
+    def __init__(__self__, *,
+                 maintenance_window_start: pulumi.Input[str]):
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        :param pulumi.Input[str] maintenance_window_start: The maintenance window start day and time for the PartnerApp.
+        """
+        pulumi.set(__self__, "maintenance_window_start", maintenance_window_start)
+
+    @property
+    @pulumi.getter(name="maintenanceWindowStart")
+    def maintenance_window_start(self) -> pulumi.Input[str]:
+        """
+        The maintenance window start day and time for the PartnerApp.
+        """
+        return pulumi.get(self, "maintenance_window_start")
+
+    @maintenance_window_start.setter
+    def maintenance_window_start(self, value: pulumi.Input[str]):
+        pulumi.set(self, "maintenance_window_start", value)
+
+
 if not MYPY:
     class PipelineDefinition0PropertiesArgsDict(TypedDict):
         """
diff --git a/sdk/python/pulumi_aws_native/sagemaker/get_partner_app.py b/sdk/python/pulumi_aws_native/sagemaker/get_partner_app.py
new file mode 100644
index 0000000000..30d71e240e
--- /dev/null
+++ b/sdk/python/pulumi_aws_native/sagemaker/get_partner_app.py
@@ -0,0 +1,163 @@
+# coding=utf-8
+# *** WARNING: this file was generated by pulumi-language-python. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+    from typing import NotRequired, TypedDict, TypeAlias
+else:
+    from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+from . import outputs
+from .. import outputs as _root_outputs
+
+__all__ = [
+    'GetPartnerAppResult',
+    'AwaitableGetPartnerAppResult',
+    'get_partner_app',
+    'get_partner_app_output',
+]
+
+@pulumi.output_type
+class GetPartnerAppResult:
+    def __init__(__self__, application_config=None, arn=None, base_url=None, enable_iam_session_based_identity=None, maintenance_config=None, tags=None, tier=None):
+        if application_config and not isinstance(application_config, dict):
+            raise TypeError("Expected argument 'application_config' to be a dict")
+        pulumi.set(__self__, "application_config", application_config)
+        if arn and not isinstance(arn, str):
+            raise TypeError("Expected argument 'arn' to be a str")
+        pulumi.set(__self__, "arn", arn)
+        if base_url and not isinstance(base_url, str):
+            raise TypeError("Expected argument 'base_url' to be a str")
+        pulumi.set(__self__, "base_url", base_url)
+        if enable_iam_session_based_identity and not isinstance(enable_iam_session_based_identity, bool):
+            raise TypeError("Expected argument 'enable_iam_session_based_identity' to be a bool")
+        pulumi.set(__self__, "enable_iam_session_based_identity", enable_iam_session_based_identity)
+        if maintenance_config and not isinstance(maintenance_config, dict):
+            raise TypeError("Expected argument 'maintenance_config' to be a dict")
+        pulumi.set(__self__, "maintenance_config", maintenance_config)
+        if tags and not isinstance(tags, list):
+            raise TypeError("Expected argument 'tags' to be a list")
+        pulumi.set(__self__, "tags", tags)
+        if tier and not isinstance(tier, str):
+            raise TypeError("Expected argument 'tier' to be a str")
+        pulumi.set(__self__, "tier", tier)
+
+    @property
+    @pulumi.getter(name="applicationConfig")
+    def application_config(self) -> Optional['outputs.PartnerAppConfig']:
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        return pulumi.get(self, "application_config")
+
+    @property
+    @pulumi.getter
+    def arn(self) -> Optional[str]:
+        """
+        The Amazon Resource Name (ARN) of the created PartnerApp.
+        """
+        return pulumi.get(self, "arn")
+
+    @property
+    @pulumi.getter(name="baseUrl")
+    def base_url(self) -> Optional[str]:
+        """
+        The AppServerUrl based on app and account-info.
+        """
+        return pulumi.get(self, "base_url")
+
+    @property
+    @pulumi.getter(name="enableIamSessionBasedIdentity")
+    def enable_iam_session_based_identity(self) -> Optional[bool]:
+        """
+        Enables IAM Session based Identity for PartnerApp.
+        """
+        return pulumi.get(self, "enable_iam_session_based_identity")
+
+    @property
+    @pulumi.getter(name="maintenanceConfig")
+    def maintenance_config(self) -> Optional['outputs.PartnerAppMaintenanceConfig']:
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        return pulumi.get(self, "maintenance_config")
+
+    @property
+    @pulumi.getter
+    def tags(self) -> Optional[Sequence['_root_outputs.Tag']]:
+        """
+        A list of tags to apply to the PartnerApp.
+        """
+        return pulumi.get(self, "tags")
+
+    @property
+    @pulumi.getter
+    def tier(self) -> Optional[str]:
+        """
+        The tier of the PartnerApp.
+        """
+        return pulumi.get(self, "tier")
+
+
+class AwaitableGetPartnerAppResult(GetPartnerAppResult):
+    # pylint: disable=using-constant-test
+    def __await__(self):
+        if False:
+            yield self
+        return GetPartnerAppResult(
+            application_config=self.application_config,
+            arn=self.arn,
+            base_url=self.base_url,
+            enable_iam_session_based_identity=self.enable_iam_session_based_identity,
+            maintenance_config=self.maintenance_config,
+            tags=self.tags,
+            tier=self.tier)
+
+
+def get_partner_app(arn: Optional[str] = None,
+                    opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPartnerAppResult:
+    """
+    Resource Type definition for AWS::SageMaker::PartnerApp
+
+
+    :param str arn: The Amazon Resource Name (ARN) of the created PartnerApp.
+    """
+    __args__ = dict()
+    __args__['arn'] = arn
+    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
+    __ret__ = pulumi.runtime.invoke('aws-native:sagemaker:getPartnerApp', __args__, opts=opts, typ=GetPartnerAppResult).value
+
+    return AwaitableGetPartnerAppResult(
+        application_config=pulumi.get(__ret__, 'application_config'),
+        arn=pulumi.get(__ret__, 'arn'),
+        base_url=pulumi.get(__ret__, 'base_url'),
+        enable_iam_session_based_identity=pulumi.get(__ret__, 'enable_iam_session_based_identity'),
+        maintenance_config=pulumi.get(__ret__, 'maintenance_config'),
+        tags=pulumi.get(__ret__, 'tags'),
+        tier=pulumi.get(__ret__, 'tier'))
+def get_partner_app_output(arn: Optional[pulumi.Input[str]] = None,
+                           opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPartnerAppResult]:
+    """
+    Resource Type definition for AWS::SageMaker::PartnerApp
+
+
+    :param str arn: The Amazon Resource Name (ARN) of the created PartnerApp.
+    """
+    __args__ = dict()
+    __args__['arn'] = arn
+    opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
+    __ret__ = pulumi.runtime.invoke_output('aws-native:sagemaker:getPartnerApp', __args__, opts=opts, typ=GetPartnerAppResult)
+    return __ret__.apply(lambda __response__: GetPartnerAppResult(
+        application_config=pulumi.get(__response__, 'application_config'),
+        arn=pulumi.get(__response__, 'arn'),
+        base_url=pulumi.get(__response__, 'base_url'),
+        enable_iam_session_based_identity=pulumi.get(__response__, 'enable_iam_session_based_identity'),
+        maintenance_config=pulumi.get(__response__, 'maintenance_config'),
+        tags=pulumi.get(__response__, 'tags'),
+        tier=pulumi.get(__response__, 'tier')))
diff --git a/sdk/python/pulumi_aws_native/sagemaker/outputs.py b/sdk/python/pulumi_aws_native/sagemaker/outputs.py
index ecf69d04e0..58c1709bab 100644
--- a/sdk/python/pulumi_aws_native/sagemaker/outputs.py
+++ b/sdk/python/pulumi_aws_native/sagemaker/outputs.py
@@ -243,6 +243,8 @@
     'OfflineStoreConfigProperties',
     'OnlineStoreConfigProperties',
     'ParallelismConfigurationProperties',
+    'PartnerAppConfig',
+    'PartnerAppMaintenanceConfig',
     'PipelineDefinition0Properties',
     'PipelineDefinition1Properties',
     'PipelineS3Location',
@@ -14280,6 +14282,97 @@ def max_parallel_execution_steps(self) -> int:
         return pulumi.get(self, "max_parallel_execution_steps")
 
 
+@pulumi.output_type
+class PartnerAppConfig(dict):
+    """
+    A collection of configuration settings for the PartnerApp.
+    """
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "adminUsers":
+            suggest = "admin_users"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in PartnerAppConfig. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        PartnerAppConfig.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        PartnerAppConfig.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 admin_users: Optional[Sequence[str]] = None,
+                 arguments: Optional[Mapping[str, str]] = None):
+        """
+        A collection of configuration settings for the PartnerApp.
+        :param Sequence[str] admin_users: A list of users with administrator privileges for the PartnerApp.
+        :param Mapping[str, str] arguments: A list of arguments to pass to the PartnerApp.
+        """
+        if admin_users is not None:
+            pulumi.set(__self__, "admin_users", admin_users)
+        if arguments is not None:
+            pulumi.set(__self__, "arguments", arguments)
+
+    @property
+    @pulumi.getter(name="adminUsers")
+    def admin_users(self) -> Optional[Sequence[str]]:
+        """
+        A list of users with administrator privileges for the PartnerApp.
+        """
+        return pulumi.get(self, "admin_users")
+
+    @property
+    @pulumi.getter
+    def arguments(self) -> Optional[Mapping[str, str]]:
+        """
+        A list of arguments to pass to the PartnerApp.
+        """
+        return pulumi.get(self, "arguments")
+
+
+@pulumi.output_type
+class PartnerAppMaintenanceConfig(dict):
+    """
+    A collection of settings that specify the maintenance schedule for the PartnerApp.
+    """
+    @staticmethod
+    def __key_warning(key: str):
+        suggest = None
+        if key == "maintenanceWindowStart":
+            suggest = "maintenance_window_start"
+
+        if suggest:
+            pulumi.log.warn(f"Key '{key}' not found in PartnerAppMaintenanceConfig. Access the value via the '{suggest}' property getter instead.")
+
+    def __getitem__(self, key: str) -> Any:
+        PartnerAppMaintenanceConfig.__key_warning(key)
+        return super().__getitem__(key)
+
+    def get(self, key: str, default = None) -> Any:
+        PartnerAppMaintenanceConfig.__key_warning(key)
+        return super().get(key, default)
+
+    def __init__(__self__, *,
+                 maintenance_window_start: str):
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        :param str maintenance_window_start: The maintenance window start day and time for the PartnerApp.
+        """
+        pulumi.set(__self__, "maintenance_window_start", maintenance_window_start)
+
+    @property
+    @pulumi.getter(name="maintenanceWindowStart")
+    def maintenance_window_start(self) -> str:
+        """
+        The maintenance window start day and time for the PartnerApp.
+        """
+        return pulumi.get(self, "maintenance_window_start")
+
+
 @pulumi.output_type
 class PipelineDefinition0Properties(dict):
     """
diff --git a/sdk/python/pulumi_aws_native/sagemaker/partner_app.py b/sdk/python/pulumi_aws_native/sagemaker/partner_app.py
new file mode 100644
index 0000000000..748ad9ee8a
--- /dev/null
+++ b/sdk/python/pulumi_aws_native/sagemaker/partner_app.py
@@ -0,0 +1,416 @@
+# coding=utf-8
+# *** WARNING: this file was generated by pulumi-language-python. ***
+# *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+import copy
+import warnings
+import sys
+import pulumi
+import pulumi.runtime
+from typing import Any, Mapping, Optional, Sequence, Union, overload
+if sys.version_info >= (3, 11):
+    from typing import NotRequired, TypedDict, TypeAlias
+else:
+    from typing_extensions import NotRequired, TypedDict, TypeAlias
+from .. import _utilities
+from . import outputs
+from .. import _inputs as _root_inputs
+from .. import outputs as _root_outputs
+from ._enums import *
+from ._inputs import *
+
+__all__ = ['PartnerAppArgs', 'PartnerApp']
+
+@pulumi.input_type
+class PartnerAppArgs:
+    def __init__(__self__, *,
+                 auth_type: pulumi.Input['PartnerAppAuthType'],
+                 execution_role_arn: pulumi.Input[str],
+                 tier: pulumi.Input[str],
+                 type: pulumi.Input['PartnerAppType'],
+                 application_config: Optional[pulumi.Input['PartnerAppConfigArgs']] = None,
+                 client_token: Optional[pulumi.Input[str]] = None,
+                 enable_iam_session_based_identity: Optional[pulumi.Input[bool]] = None,
+                 maintenance_config: Optional[pulumi.Input['PartnerAppMaintenanceConfigArgs']] = None,
+                 name: Optional[pulumi.Input[str]] = None,
+                 tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None):
+        """
+        The set of arguments for constructing a PartnerApp resource.
+        :param pulumi.Input['PartnerAppAuthType'] auth_type: The Auth type of PartnerApp.
+        :param pulumi.Input[str] execution_role_arn: The execution role for the user.
+        :param pulumi.Input[str] tier: The tier of the PartnerApp.
+        :param pulumi.Input['PartnerAppType'] type: The type of PartnerApp.
+        :param pulumi.Input['PartnerAppConfigArgs'] application_config: A collection of settings that specify the maintenance schedule for the PartnerApp.
+        :param pulumi.Input[str] client_token: The client token for the PartnerApp.
+        :param pulumi.Input[bool] enable_iam_session_based_identity: Enables IAM Session based Identity for PartnerApp.
+        :param pulumi.Input['PartnerAppMaintenanceConfigArgs'] maintenance_config: A collection of settings that specify the maintenance schedule for the PartnerApp.
+        :param pulumi.Input[str] name: A name for the PartnerApp.
+        :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of tags to apply to the PartnerApp.
+        """
+        pulumi.set(__self__, "auth_type", auth_type)
+        pulumi.set(__self__, "execution_role_arn", execution_role_arn)
+        pulumi.set(__self__, "tier", tier)
+        pulumi.set(__self__, "type", type)
+        if application_config is not None:
+            pulumi.set(__self__, "application_config", application_config)
+        if client_token is not None:
+            pulumi.set(__self__, "client_token", client_token)
+        if enable_iam_session_based_identity is not None:
+            pulumi.set(__self__, "enable_iam_session_based_identity", enable_iam_session_based_identity)
+        if maintenance_config is not None:
+            pulumi.set(__self__, "maintenance_config", maintenance_config)
+        if name is not None:
+            pulumi.set(__self__, "name", name)
+        if tags is not None:
+            pulumi.set(__self__, "tags", tags)
+
+    @property
+    @pulumi.getter(name="authType")
+    def auth_type(self) -> pulumi.Input['PartnerAppAuthType']:
+        """
+        The Auth type of PartnerApp.
+        """
+        return pulumi.get(self, "auth_type")
+
+    @auth_type.setter
+    def auth_type(self, value: pulumi.Input['PartnerAppAuthType']):
+        pulumi.set(self, "auth_type", value)
+
+    @property
+    @pulumi.getter(name="executionRoleArn")
+    def execution_role_arn(self) -> pulumi.Input[str]:
+        """
+        The execution role for the user.
+        """
+        return pulumi.get(self, "execution_role_arn")
+
+    @execution_role_arn.setter
+    def execution_role_arn(self, value: pulumi.Input[str]):
+        pulumi.set(self, "execution_role_arn", value)
+
+    @property
+    @pulumi.getter
+    def tier(self) -> pulumi.Input[str]:
+        """
+        The tier of the PartnerApp.
+        """
+        return pulumi.get(self, "tier")
+
+    @tier.setter
+    def tier(self, value: pulumi.Input[str]):
+        pulumi.set(self, "tier", value)
+
+    @property
+    @pulumi.getter
+    def type(self) -> pulumi.Input['PartnerAppType']:
+        """
+        The type of PartnerApp.
+        """
+        return pulumi.get(self, "type")
+
+    @type.setter
+    def type(self, value: pulumi.Input['PartnerAppType']):
+        pulumi.set(self, "type", value)
+
+    @property
+    @pulumi.getter(name="applicationConfig")
+    def application_config(self) -> Optional[pulumi.Input['PartnerAppConfigArgs']]:
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        return pulumi.get(self, "application_config")
+
+    @application_config.setter
+    def application_config(self, value: Optional[pulumi.Input['PartnerAppConfigArgs']]):
+        pulumi.set(self, "application_config", value)
+
+    @property
+    @pulumi.getter(name="clientToken")
+    def client_token(self) -> Optional[pulumi.Input[str]]:
+        """
+        The client token for the PartnerApp.
+        """
+        return pulumi.get(self, "client_token")
+
+    @client_token.setter
+    def client_token(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "client_token", value)
+
+    @property
+    @pulumi.getter(name="enableIamSessionBasedIdentity")
+    def enable_iam_session_based_identity(self) -> Optional[pulumi.Input[bool]]:
+        """
+        Enables IAM Session based Identity for PartnerApp.
+        """
+        return pulumi.get(self, "enable_iam_session_based_identity")
+
+    @enable_iam_session_based_identity.setter
+    def enable_iam_session_based_identity(self, value: Optional[pulumi.Input[bool]]):
+        pulumi.set(self, "enable_iam_session_based_identity", value)
+
+    @property
+    @pulumi.getter(name="maintenanceConfig")
+    def maintenance_config(self) -> Optional[pulumi.Input['PartnerAppMaintenanceConfigArgs']]:
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        return pulumi.get(self, "maintenance_config")
+
+    @maintenance_config.setter
+    def maintenance_config(self, value: Optional[pulumi.Input['PartnerAppMaintenanceConfigArgs']]):
+        pulumi.set(self, "maintenance_config", value)
+
+    @property
+    @pulumi.getter
+    def name(self) -> Optional[pulumi.Input[str]]:
+        """
+        A name for the PartnerApp.
+        """
+        return pulumi.get(self, "name")
+
+    @name.setter
+    def name(self, value: Optional[pulumi.Input[str]]):
+        pulumi.set(self, "name", value)
+
+    @property
+    @pulumi.getter
+    def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]:
+        """
+        A list of tags to apply to the PartnerApp.
+        """
+        return pulumi.get(self, "tags")
+
+    @tags.setter
+    def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]):
+        pulumi.set(self, "tags", value)
+
+
+class PartnerApp(pulumi.CustomResource):
+    @overload
+    def __init__(__self__,
+                 resource_name: str,
+                 opts: Optional[pulumi.ResourceOptions] = None,
+                 application_config: Optional[pulumi.Input[Union['PartnerAppConfigArgs', 'PartnerAppConfigArgsDict']]] = None,
+                 auth_type: Optional[pulumi.Input['PartnerAppAuthType']] = None,
+                 client_token: Optional[pulumi.Input[str]] = None,
+                 enable_iam_session_based_identity: Optional[pulumi.Input[bool]] = None,
+                 execution_role_arn: Optional[pulumi.Input[str]] = None,
+                 maintenance_config: Optional[pulumi.Input[Union['PartnerAppMaintenanceConfigArgs', 'PartnerAppMaintenanceConfigArgsDict']]] = None,
+                 name: Optional[pulumi.Input[str]] = None,
+                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
+                 tier: Optional[pulumi.Input[str]] = None,
+                 type: Optional[pulumi.Input['PartnerAppType']] = None,
+                 __props__=None):
+        """
+        Resource Type definition for AWS::SageMaker::PartnerApp
+
+        :param str resource_name: The name of the resource.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        :param pulumi.Input[Union['PartnerAppConfigArgs', 'PartnerAppConfigArgsDict']] application_config: A collection of settings that specify the maintenance schedule for the PartnerApp.
+        :param pulumi.Input['PartnerAppAuthType'] auth_type: The Auth type of PartnerApp.
+        :param pulumi.Input[str] client_token: The client token for the PartnerApp.
+        :param pulumi.Input[bool] enable_iam_session_based_identity: Enables IAM Session based Identity for PartnerApp.
+        :param pulumi.Input[str] execution_role_arn: The execution role for the user.
+        :param pulumi.Input[Union['PartnerAppMaintenanceConfigArgs', 'PartnerAppMaintenanceConfigArgsDict']] maintenance_config: A collection of settings that specify the maintenance schedule for the PartnerApp.
+        :param pulumi.Input[str] name: A name for the PartnerApp.
+        :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of tags to apply to the PartnerApp.
+        :param pulumi.Input[str] tier: The tier of the PartnerApp.
+        :param pulumi.Input['PartnerAppType'] type: The type of PartnerApp.
+        """
+        ...
+    @overload
+    def __init__(__self__,
+                 resource_name: str,
+                 args: PartnerAppArgs,
+                 opts: Optional[pulumi.ResourceOptions] = None):
+        """
+        Resource Type definition for AWS::SageMaker::PartnerApp
+
+        :param str resource_name: The name of the resource.
+        :param PartnerAppArgs args: The arguments to use to populate this resource's properties.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        ...
+    def __init__(__self__, resource_name: str, *args, **kwargs):
+        resource_args, opts = _utilities.get_resource_args_opts(PartnerAppArgs, pulumi.ResourceOptions, *args, **kwargs)
+        if resource_args is not None:
+            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
+        else:
+            __self__._internal_init(resource_name, *args, **kwargs)
+
+    def _internal_init(__self__,
+                 resource_name: str,
+                 opts: Optional[pulumi.ResourceOptions] = None,
+                 application_config: Optional[pulumi.Input[Union['PartnerAppConfigArgs', 'PartnerAppConfigArgsDict']]] = None,
+                 auth_type: Optional[pulumi.Input['PartnerAppAuthType']] = None,
+                 client_token: Optional[pulumi.Input[str]] = None,
+                 enable_iam_session_based_identity: Optional[pulumi.Input[bool]] = None,
+                 execution_role_arn: Optional[pulumi.Input[str]] = None,
+                 maintenance_config: Optional[pulumi.Input[Union['PartnerAppMaintenanceConfigArgs', 'PartnerAppMaintenanceConfigArgsDict']]] = None,
+                 name: Optional[pulumi.Input[str]] = None,
+                 tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None,
+                 tier: Optional[pulumi.Input[str]] = None,
+                 type: Optional[pulumi.Input['PartnerAppType']] = None,
+                 __props__=None):
+        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
+        if not isinstance(opts, pulumi.ResourceOptions):
+            raise TypeError('Expected resource options to be a ResourceOptions instance')
+        if opts.id is None:
+            if __props__ is not None:
+                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
+            __props__ = PartnerAppArgs.__new__(PartnerAppArgs)
+
+            __props__.__dict__["application_config"] = application_config
+            if auth_type is None and not opts.urn:
+                raise TypeError("Missing required property 'auth_type'")
+            __props__.__dict__["auth_type"] = auth_type
+            __props__.__dict__["client_token"] = client_token
+            __props__.__dict__["enable_iam_session_based_identity"] = enable_iam_session_based_identity
+            if execution_role_arn is None and not opts.urn:
+                raise TypeError("Missing required property 'execution_role_arn'")
+            __props__.__dict__["execution_role_arn"] = execution_role_arn
+            __props__.__dict__["maintenance_config"] = maintenance_config
+            __props__.__dict__["name"] = name
+            __props__.__dict__["tags"] = tags
+            if tier is None and not opts.urn:
+                raise TypeError("Missing required property 'tier'")
+            __props__.__dict__["tier"] = tier
+            if type is None and not opts.urn:
+                raise TypeError("Missing required property 'type'")
+            __props__.__dict__["type"] = type
+            __props__.__dict__["arn"] = None
+            __props__.__dict__["base_url"] = None
+        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["authType", "executionRoleArn", "name", "type"])
+        opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
+        super(PartnerApp, __self__).__init__(
+            'aws-native:sagemaker:PartnerApp',
+            resource_name,
+            __props__,
+            opts)
+
+    @staticmethod
+    def get(resource_name: str,
+            id: pulumi.Input[str],
+            opts: Optional[pulumi.ResourceOptions] = None) -> 'PartnerApp':
+        """
+        Get an existing PartnerApp resource's state with the given name, id, and optional extra
+        properties used to qualify the lookup.
+
+        :param str resource_name: The unique name of the resulting resource.
+        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
+        :param pulumi.ResourceOptions opts: Options for the resource.
+        """
+        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
+
+        __props__ = PartnerAppArgs.__new__(PartnerAppArgs)
+
+        __props__.__dict__["application_config"] = None
+        __props__.__dict__["arn"] = None
+        __props__.__dict__["auth_type"] = None
+        __props__.__dict__["base_url"] = None
+        __props__.__dict__["client_token"] = None
+        __props__.__dict__["enable_iam_session_based_identity"] = None
+        __props__.__dict__["execution_role_arn"] = None
+        __props__.__dict__["maintenance_config"] = None
+        __props__.__dict__["name"] = None
+        __props__.__dict__["tags"] = None
+        __props__.__dict__["tier"] = None
+        __props__.__dict__["type"] = None
+        return PartnerApp(resource_name, opts=opts, __props__=__props__)
+
+    @property
+    @pulumi.getter(name="applicationConfig")
+    def application_config(self) -> pulumi.Output[Optional['outputs.PartnerAppConfig']]:
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        return pulumi.get(self, "application_config")
+
+    @property
+    @pulumi.getter
+    def arn(self) -> pulumi.Output[str]:
+        """
+        The Amazon Resource Name (ARN) of the created PartnerApp.
+        """
+        return pulumi.get(self, "arn")
+
+    @property
+    @pulumi.getter(name="authType")
+    def auth_type(self) -> pulumi.Output['PartnerAppAuthType']:
+        """
+        The Auth type of PartnerApp.
+        """
+        return pulumi.get(self, "auth_type")
+
+    @property
+    @pulumi.getter(name="baseUrl")
+    def base_url(self) -> pulumi.Output[str]:
+        """
+        The AppServerUrl based on app and account-info.
+        """
+        return pulumi.get(self, "base_url")
+
+    @property
+    @pulumi.getter(name="clientToken")
+    def client_token(self) -> pulumi.Output[Optional[str]]:
+        """
+        The client token for the PartnerApp.
+        """
+        return pulumi.get(self, "client_token")
+
+    @property
+    @pulumi.getter(name="enableIamSessionBasedIdentity")
+    def enable_iam_session_based_identity(self) -> pulumi.Output[Optional[bool]]:
+        """
+        Enables IAM Session based Identity for PartnerApp.
+        """
+        return pulumi.get(self, "enable_iam_session_based_identity")
+
+    @property
+    @pulumi.getter(name="executionRoleArn")
+    def execution_role_arn(self) -> pulumi.Output[str]:
+        """
+        The execution role for the user.
+        """
+        return pulumi.get(self, "execution_role_arn")
+
+    @property
+    @pulumi.getter(name="maintenanceConfig")
+    def maintenance_config(self) -> pulumi.Output[Optional['outputs.PartnerAppMaintenanceConfig']]:
+        """
+        A collection of settings that specify the maintenance schedule for the PartnerApp.
+        """
+        return pulumi.get(self, "maintenance_config")
+
+    @property
+    @pulumi.getter
+    def name(self) -> pulumi.Output[str]:
+        """
+        A name for the PartnerApp.
+        """
+        return pulumi.get(self, "name")
+
+    @property
+    @pulumi.getter
+    def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]:
+        """
+        A list of tags to apply to the PartnerApp.
+        """
+        return pulumi.get(self, "tags")
+
+    @property
+    @pulumi.getter
+    def tier(self) -> pulumi.Output[str]:
+        """
+        The tier of the PartnerApp.
+        """
+        return pulumi.get(self, "tier")
+
+    @property
+    @pulumi.getter
+    def type(self) -> pulumi.Output['PartnerAppType']:
+        """
+        The type of PartnerApp.
+        """
+        return pulumi.get(self, "type")
+
diff --git a/sdk/python/pulumi_aws_native/stepfunctions/get_state_machine_version.py b/sdk/python/pulumi_aws_native/stepfunctions/get_state_machine_version.py
index 606c32191f..f908681316 100644
--- a/sdk/python/pulumi_aws_native/stepfunctions/get_state_machine_version.py
+++ b/sdk/python/pulumi_aws_native/stepfunctions/get_state_machine_version.py
@@ -23,13 +23,10 @@
 
 @pulumi.output_type
 class GetStateMachineVersionResult:
-    def __init__(__self__, arn=None, description=None):
+    def __init__(__self__, arn=None):
         if arn and not isinstance(arn, str):
             raise TypeError("Expected argument 'arn' to be a str")
         pulumi.set(__self__, "arn", arn)
-        if description and not isinstance(description, str):
-            raise TypeError("Expected argument 'description' to be a str")
-        pulumi.set(__self__, "description", description)
 
     @property
     @pulumi.getter
@@ -39,14 +36,6 @@ def arn(self) -> Optional[str]:
         """
         return pulumi.get(self, "arn")
 
-    @property
-    @pulumi.getter
-    def description(self) -> Optional[str]:
-        """
-        An optional description of the state machine version.
-        """
-        return pulumi.get(self, "description")
-
 
 class AwaitableGetStateMachineVersionResult(GetStateMachineVersionResult):
     # pylint: disable=using-constant-test
@@ -54,8 +43,7 @@ def __await__(self):
         if False:
             yield self
         return GetStateMachineVersionResult(
-            arn=self.arn,
-            description=self.description)
+            arn=self.arn)
 
 
 def get_state_machine_version(arn: Optional[str] = None,
@@ -72,8 +60,7 @@ def get_state_machine_version(arn: Optional[str] = None,
     __ret__ = pulumi.runtime.invoke('aws-native:stepfunctions:getStateMachineVersion', __args__, opts=opts, typ=GetStateMachineVersionResult).value
 
     return AwaitableGetStateMachineVersionResult(
-        arn=pulumi.get(__ret__, 'arn'),
-        description=pulumi.get(__ret__, 'description'))
+        arn=pulumi.get(__ret__, 'arn'))
 def get_state_machine_version_output(arn: Optional[pulumi.Input[str]] = None,
                                      opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetStateMachineVersionResult]:
     """
@@ -87,5 +74,4 @@ def get_state_machine_version_output(arn: Optional[pulumi.Input[str]] = None,
     opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
     __ret__ = pulumi.runtime.invoke_output('aws-native:stepfunctions:getStateMachineVersion', __args__, opts=opts, typ=GetStateMachineVersionResult)
     return __ret__.apply(lambda __response__: GetStateMachineVersionResult(
-        arn=pulumi.get(__response__, 'arn'),
-        description=pulumi.get(__response__, 'description')))
+        arn=pulumi.get(__response__, 'arn')))
diff --git a/sdk/python/pulumi_aws_native/stepfunctions/state_machine_version.py b/sdk/python/pulumi_aws_native/stepfunctions/state_machine_version.py
index 48345c4d9a..925b05c61e 100644
--- a/sdk/python/pulumi_aws_native/stepfunctions/state_machine_version.py
+++ b/sdk/python/pulumi_aws_native/stepfunctions/state_machine_version.py
@@ -143,7 +143,7 @@ def _internal_init(__self__,
             __props__.__dict__["state_machine_arn"] = state_machine_arn
             __props__.__dict__["state_machine_revision_id"] = state_machine_revision_id
             __props__.__dict__["arn"] = None
-        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["stateMachineArn", "stateMachineRevisionId"])
+        replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["description", "stateMachineArn", "stateMachineRevisionId"])
         opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
         super(StateMachineVersion, __self__).__init__(
             'aws-native:stepfunctions:StateMachineVersion',
diff --git a/sdk/python/pulumi_aws_native/wisdom/ai_guardrail.py b/sdk/python/pulumi_aws_native/wisdom/ai_guardrail.py
index abcf557c49..bebfb8bd49 100644
--- a/sdk/python/pulumi_aws_native/wisdom/ai_guardrail.py
+++ b/sdk/python/pulumi_aws_native/wisdom/ai_guardrail.py
@@ -35,9 +35,17 @@ def __init__(__self__, *,
                  word_policy_config: Optional[pulumi.Input['AiGuardrailAiGuardrailWordPolicyConfigArgs']] = None):
         """
         The set of arguments for constructing a AiGuardrail resource.
+        :param pulumi.Input[str] assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
         :param pulumi.Input[str] blocked_input_messaging: Messaging for when violations are detected in text
         :param pulumi.Input[str] blocked_outputs_messaging: Messaging for when violations are detected in text
+        :param pulumi.Input['AiGuardrailAiGuardrailContentPolicyConfigArgs'] content_policy_config: Contains details about how to handle harmful content.
+        :param pulumi.Input['AiGuardrailAiGuardrailContextualGroundingPolicyConfigArgs'] contextual_grounding_policy_config: The policy configuration details for the AI Guardrail's contextual grounding policy.
         :param pulumi.Input[str] description: Description of the guardrail or its version
+        :param pulumi.Input[str] name: The name of the AI Guardrail.
+        :param pulumi.Input['AiGuardrailAiGuardrailSensitiveInformationPolicyConfigArgs'] sensitive_information_policy_config: Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags used to organize, track, or control access for this resource.
+        :param pulumi.Input['AiGuardrailAiGuardrailTopicPolicyConfigArgs'] topic_policy_config: Contains details about topics that the AI Guardrail should identify and deny.
+        :param pulumi.Input['AiGuardrailAiGuardrailWordPolicyConfigArgs'] word_policy_config: Contains details about the word policy to configured for the AI Guardrail.
         """
         pulumi.set(__self__, "assistant_id", assistant_id)
         pulumi.set(__self__, "blocked_input_messaging", blocked_input_messaging)
@@ -62,6 +70,9 @@ def __init__(__self__, *,
     @property
     @pulumi.getter(name="assistantId")
     def assistant_id(self) -> pulumi.Input[str]:
+        """
+        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+        """
         return pulumi.get(self, "assistant_id")
 
     @assistant_id.setter
@@ -95,6 +106,9 @@ def blocked_outputs_messaging(self, value: pulumi.Input[str]):
     @property
     @pulumi.getter(name="contentPolicyConfig")
     def content_policy_config(self) -> Optional[pulumi.Input['AiGuardrailAiGuardrailContentPolicyConfigArgs']]:
+        """
+        Contains details about how to handle harmful content.
+        """
         return pulumi.get(self, "content_policy_config")
 
     @content_policy_config.setter
@@ -104,6 +118,9 @@ def content_policy_config(self, value: Optional[pulumi.Input['AiGuardrailAiGuard
     @property
     @pulumi.getter(name="contextualGroundingPolicyConfig")
     def contextual_grounding_policy_config(self) -> Optional[pulumi.Input['AiGuardrailAiGuardrailContextualGroundingPolicyConfigArgs']]:
+        """
+        The policy configuration details for the AI Guardrail's contextual grounding policy.
+        """
         return pulumi.get(self, "contextual_grounding_policy_config")
 
     @contextual_grounding_policy_config.setter
@@ -125,6 +142,9 @@ def description(self, value: Optional[pulumi.Input[str]]):
     @property
     @pulumi.getter
     def name(self) -> Optional[pulumi.Input[str]]:
+        """
+        The name of the AI Guardrail.
+        """
         return pulumi.get(self, "name")
 
     @name.setter
@@ -134,6 +154,9 @@ def name(self, value: Optional[pulumi.Input[str]]):
     @property
     @pulumi.getter(name="sensitiveInformationPolicyConfig")
     def sensitive_information_policy_config(self) -> Optional[pulumi.Input['AiGuardrailAiGuardrailSensitiveInformationPolicyConfigArgs']]:
+        """
+        Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        """
         return pulumi.get(self, "sensitive_information_policy_config")
 
     @sensitive_information_policy_config.setter
@@ -143,6 +166,9 @@ def sensitive_information_policy_config(self, value: Optional[pulumi.Input['AiGu
     @property
     @pulumi.getter
     def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
+        """
+        The tags used to organize, track, or control access for this resource.
+        """
         return pulumi.get(self, "tags")
 
     @tags.setter
@@ -152,6 +178,9 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
     @property
     @pulumi.getter(name="topicPolicyConfig")
     def topic_policy_config(self) -> Optional[pulumi.Input['AiGuardrailAiGuardrailTopicPolicyConfigArgs']]:
+        """
+        Contains details about topics that the AI Guardrail should identify and deny.
+        """
         return pulumi.get(self, "topic_policy_config")
 
     @topic_policy_config.setter
@@ -161,6 +190,9 @@ def topic_policy_config(self, value: Optional[pulumi.Input['AiGuardrailAiGuardra
     @property
     @pulumi.getter(name="wordPolicyConfig")
     def word_policy_config(self) -> Optional[pulumi.Input['AiGuardrailAiGuardrailWordPolicyConfigArgs']]:
+        """
+        Contains details about the word policy to configured for the AI Guardrail.
+        """
         return pulumi.get(self, "word_policy_config")
 
     @word_policy_config.setter
@@ -190,9 +222,17 @@ def __init__(__self__,
 
         :param str resource_name: The name of the resource.
         :param pulumi.ResourceOptions opts: Options for the resource.
+        :param pulumi.Input[str] assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
         :param pulumi.Input[str] blocked_input_messaging: Messaging for when violations are detected in text
         :param pulumi.Input[str] blocked_outputs_messaging: Messaging for when violations are detected in text
+        :param pulumi.Input[Union['AiGuardrailAiGuardrailContentPolicyConfigArgs', 'AiGuardrailAiGuardrailContentPolicyConfigArgsDict']] content_policy_config: Contains details about how to handle harmful content.
+        :param pulumi.Input[Union['AiGuardrailAiGuardrailContextualGroundingPolicyConfigArgs', 'AiGuardrailAiGuardrailContextualGroundingPolicyConfigArgsDict']] contextual_grounding_policy_config: The policy configuration details for the AI Guardrail's contextual grounding policy.
         :param pulumi.Input[str] description: Description of the guardrail or its version
+        :param pulumi.Input[str] name: The name of the AI Guardrail.
+        :param pulumi.Input[Union['AiGuardrailAiGuardrailSensitiveInformationPolicyConfigArgs', 'AiGuardrailAiGuardrailSensitiveInformationPolicyConfigArgsDict']] sensitive_information_policy_config: Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags used to organize, track, or control access for this resource.
+        :param pulumi.Input[Union['AiGuardrailAiGuardrailTopicPolicyConfigArgs', 'AiGuardrailAiGuardrailTopicPolicyConfigArgsDict']] topic_policy_config: Contains details about topics that the AI Guardrail should identify and deny.
+        :param pulumi.Input[Union['AiGuardrailAiGuardrailWordPolicyConfigArgs', 'AiGuardrailAiGuardrailWordPolicyConfigArgsDict']] word_policy_config: Contains details about the word policy to configured for the AI Guardrail.
         """
         ...
     @overload
@@ -301,21 +341,33 @@ def get(resource_name: str,
     @property
     @pulumi.getter(name="aiGuardrailArn")
     def ai_guardrail_arn(self) -> pulumi.Output[str]:
+        """
+        The Amazon Resource Name (ARN) of the AI Guardrail.
+        """
         return pulumi.get(self, "ai_guardrail_arn")
 
     @property
     @pulumi.getter(name="aiGuardrailId")
     def ai_guardrail_id(self) -> pulumi.Output[str]:
+        """
+        The identifier of the Amazon Q in Connect AI Guardrail.
+        """
         return pulumi.get(self, "ai_guardrail_id")
 
     @property
     @pulumi.getter(name="assistantArn")
     def assistant_arn(self) -> pulumi.Output[str]:
+        """
+        The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+        """
         return pulumi.get(self, "assistant_arn")
 
     @property
     @pulumi.getter(name="assistantId")
     def assistant_id(self) -> pulumi.Output[str]:
+        """
+        The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
+        """
         return pulumi.get(self, "assistant_id")
 
     @property
@@ -337,11 +389,17 @@ def blocked_outputs_messaging(self) -> pulumi.Output[str]:
     @property
     @pulumi.getter(name="contentPolicyConfig")
     def content_policy_config(self) -> pulumi.Output[Optional['outputs.AiGuardrailAiGuardrailContentPolicyConfig']]:
+        """
+        Contains details about how to handle harmful content.
+        """
         return pulumi.get(self, "content_policy_config")
 
     @property
     @pulumi.getter(name="contextualGroundingPolicyConfig")
     def contextual_grounding_policy_config(self) -> pulumi.Output[Optional['outputs.AiGuardrailAiGuardrailContextualGroundingPolicyConfig']]:
+        """
+        The policy configuration details for the AI Guardrail's contextual grounding policy.
+        """
         return pulumi.get(self, "contextual_grounding_policy_config")
 
     @property
@@ -355,25 +413,40 @@ def description(self) -> pulumi.Output[Optional[str]]:
     @property
     @pulumi.getter
     def name(self) -> pulumi.Output[Optional[str]]:
+        """
+        The name of the AI Guardrail.
+        """
         return pulumi.get(self, "name")
 
     @property
     @pulumi.getter(name="sensitiveInformationPolicyConfig")
     def sensitive_information_policy_config(self) -> pulumi.Output[Optional['outputs.AiGuardrailAiGuardrailSensitiveInformationPolicyConfig']]:
+        """
+        Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        """
         return pulumi.get(self, "sensitive_information_policy_config")
 
     @property
     @pulumi.getter
     def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
+        """
+        The tags used to organize, track, or control access for this resource.
+        """
         return pulumi.get(self, "tags")
 
     @property
     @pulumi.getter(name="topicPolicyConfig")
     def topic_policy_config(self) -> pulumi.Output[Optional['outputs.AiGuardrailAiGuardrailTopicPolicyConfig']]:
+        """
+        Contains details about topics that the AI Guardrail should identify and deny.
+        """
         return pulumi.get(self, "topic_policy_config")
 
     @property
     @pulumi.getter(name="wordPolicyConfig")
     def word_policy_config(self) -> pulumi.Output[Optional['outputs.AiGuardrailAiGuardrailWordPolicyConfig']]:
+        """
+        Contains details about the word policy to configured for the AI Guardrail.
+        """
         return pulumi.get(self, "word_policy_config")
 
diff --git a/sdk/python/pulumi_aws_native/wisdom/ai_guardrail_version.py b/sdk/python/pulumi_aws_native/wisdom/ai_guardrail_version.py
index c9e781d8e5..5a4e4857cf 100644
--- a/sdk/python/pulumi_aws_native/wisdom/ai_guardrail_version.py
+++ b/sdk/python/pulumi_aws_native/wisdom/ai_guardrail_version.py
@@ -186,5 +186,8 @@ def modified_time_seconds(self) -> pulumi.Output[Optional[float]]:
     @property
     @pulumi.getter(name="versionNumber")
     def version_number(self) -> pulumi.Output[float]:
+        """
+        The version number for this AI Guardrail version.
+        """
         return pulumi.get(self, "version_number")
 
diff --git a/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail.py b/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail.py
index d2ab4bca72..17ae784d51 100644
--- a/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail.py
+++ b/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail.py
@@ -63,16 +63,25 @@ def __init__(__self__, ai_guardrail_arn=None, ai_guardrail_id=None, assistant_ar
     @property
     @pulumi.getter(name="aiGuardrailArn")
     def ai_guardrail_arn(self) -> Optional[str]:
+        """
+        The Amazon Resource Name (ARN) of the AI Guardrail.
+        """
         return pulumi.get(self, "ai_guardrail_arn")
 
     @property
     @pulumi.getter(name="aiGuardrailId")
     def ai_guardrail_id(self) -> Optional[str]:
+        """
+        The identifier of the Amazon Q in Connect AI Guardrail.
+        """
         return pulumi.get(self, "ai_guardrail_id")
 
     @property
     @pulumi.getter(name="assistantArn")
     def assistant_arn(self) -> Optional[str]:
+        """
+        The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.
+        """
         return pulumi.get(self, "assistant_arn")
 
     @property
@@ -94,11 +103,17 @@ def blocked_outputs_messaging(self) -> Optional[str]:
     @property
     @pulumi.getter(name="contentPolicyConfig")
     def content_policy_config(self) -> Optional['outputs.AiGuardrailAiGuardrailContentPolicyConfig']:
+        """
+        Contains details about how to handle harmful content.
+        """
         return pulumi.get(self, "content_policy_config")
 
     @property
     @pulumi.getter(name="contextualGroundingPolicyConfig")
     def contextual_grounding_policy_config(self) -> Optional['outputs.AiGuardrailAiGuardrailContextualGroundingPolicyConfig']:
+        """
+        The policy configuration details for the AI Guardrail's contextual grounding policy.
+        """
         return pulumi.get(self, "contextual_grounding_policy_config")
 
     @property
@@ -112,16 +127,25 @@ def description(self) -> Optional[str]:
     @property
     @pulumi.getter(name="sensitiveInformationPolicyConfig")
     def sensitive_information_policy_config(self) -> Optional['outputs.AiGuardrailAiGuardrailSensitiveInformationPolicyConfig']:
+        """
+        Contains details about PII entities and regular expressions to configure for the AI Guardrail.
+        """
         return pulumi.get(self, "sensitive_information_policy_config")
 
     @property
     @pulumi.getter(name="topicPolicyConfig")
     def topic_policy_config(self) -> Optional['outputs.AiGuardrailAiGuardrailTopicPolicyConfig']:
+        """
+        Contains details about topics that the AI Guardrail should identify and deny.
+        """
         return pulumi.get(self, "topic_policy_config")
 
     @property
     @pulumi.getter(name="wordPolicyConfig")
     def word_policy_config(self) -> Optional['outputs.AiGuardrailAiGuardrailWordPolicyConfig']:
+        """
+        Contains details about the word policy to configured for the AI Guardrail.
+        """
         return pulumi.get(self, "word_policy_config")
 
 
@@ -149,6 +173,10 @@ def get_ai_guardrail(ai_guardrail_id: Optional[str] = None,
                      opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAiGuardrailResult:
     """
     Definition of AWS::Wisdom::AIGuardrail Resource Type
+
+
+    :param str ai_guardrail_id: The identifier of the Amazon Q in Connect AI Guardrail.
+    :param str assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
     """
     __args__ = dict()
     __args__['aiGuardrailId'] = ai_guardrail_id
@@ -173,6 +201,10 @@ def get_ai_guardrail_output(ai_guardrail_id: Optional[pulumi.Input[str]] = None,
                             opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAiGuardrailResult]:
     """
     Definition of AWS::Wisdom::AIGuardrail Resource Type
+
+
+    :param str ai_guardrail_id: The identifier of the Amazon Q in Connect AI Guardrail.
+    :param str assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.
     """
     __args__ = dict()
     __args__['aiGuardrailId'] = ai_guardrail_id
diff --git a/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail_version.py b/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail_version.py
index c4ec34be0f..7c0f6b72e6 100644
--- a/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail_version.py
+++ b/sdk/python/pulumi_aws_native/wisdom/get_ai_guardrail_version.py
@@ -55,6 +55,9 @@ def assistant_arn(self) -> Optional[str]:
     @property
     @pulumi.getter(name="versionNumber")
     def version_number(self) -> Optional[float]:
+        """
+        The version number for this AI Guardrail version.
+        """
         return pulumi.get(self, "version_number")
 
 
@@ -76,6 +79,9 @@ def get_ai_guardrail_version(ai_guardrail_id: Optional[str] = None,
                              opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAiGuardrailVersionResult:
     """
     Definition of AWS::Wisdom::AIGuardrailVersion Resource Type
+
+
+    :param float version_number: The version number for this AI Guardrail version.
     """
     __args__ = dict()
     __args__['aiGuardrailId'] = ai_guardrail_id
@@ -95,6 +101,9 @@ def get_ai_guardrail_version_output(ai_guardrail_id: Optional[pulumi.Input[str]]
                                     opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAiGuardrailVersionResult]:
     """
     Definition of AWS::Wisdom::AIGuardrailVersion Resource Type
+
+
+    :param float version_number: The version number for this AI Guardrail version.
     """
     __args__ = dict()
     __args__['aiGuardrailId'] = ai_guardrail_id