aws-sdk-qbusiness 1.34.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -576,6 +576,49 @@ module Aws::QBusiness
576
576
  include Aws::Structure
577
577
  end
578
578
 
579
+ # Represents a group associated with a given user in the access control
580
+ # system.
581
+ #
582
+ # @!attribute [rw] name
583
+ # The name of the group associated with the user. This is used to
584
+ # identify the group in access control decisions.
585
+ # @return [String]
586
+ #
587
+ # @!attribute [rw] type
588
+ # The type of the associated group. This indicates the scope of the
589
+ # group's applicability.
590
+ # @return [String]
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/AssociatedGroup AWS API Documentation
593
+ #
594
+ class AssociatedGroup < Struct.new(
595
+ :name,
596
+ :type)
597
+ SENSITIVE = []
598
+ include Aws::Structure
599
+ end
600
+
601
+ # Represents an associated user in the access control system.
602
+ #
603
+ # @!attribute [rw] id
604
+ # The unique identifier of the associated user. This is used to
605
+ # identify the user in access control decisions.
606
+ # @return [String]
607
+ #
608
+ # @!attribute [rw] type
609
+ # The type of the associated user. This indicates the scope of the
610
+ # user's association.
611
+ # @return [String]
612
+ #
613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/AssociatedUser AWS API Documentation
614
+ #
615
+ class AssociatedUser < Struct.new(
616
+ :id,
617
+ :type)
618
+ SENSITIVE = []
619
+ include Aws::Structure
620
+ end
621
+
579
622
  # An attachment in an Amazon Q Business conversation.
580
623
  #
581
624
  # @!attribute [rw] attachment_id
@@ -1466,6 +1509,78 @@ module Aws::QBusiness
1466
1509
  include Aws::Structure
1467
1510
  end
1468
1511
 
1512
+ # @!attribute [rw] application_id
1513
+ # The unique identifier of the application. This is required to
1514
+ # identify the specific Amazon Q Business application context for the
1515
+ # document access check.
1516
+ # @return [String]
1517
+ #
1518
+ # @!attribute [rw] index_id
1519
+ # The unique identifier of the index. Used to locate the correct index
1520
+ # within the application where the document is stored.
1521
+ # @return [String]
1522
+ #
1523
+ # @!attribute [rw] user_id
1524
+ # The unique identifier of the user. Used to check the access
1525
+ # permissions for this specific user against the document's ACL.
1526
+ # @return [String]
1527
+ #
1528
+ # @!attribute [rw] document_id
1529
+ # The unique identifier of the document. Specifies which document's
1530
+ # access permissions are being checked.
1531
+ # @return [String]
1532
+ #
1533
+ # @!attribute [rw] data_source_id
1534
+ # The unique identifier of the data source. Identifies the specific
1535
+ # data source from which the document originates. Should not be used
1536
+ # when a document is uploaded directly with BatchPutDocument, as no
1537
+ # dataSourceId is available or necessary.
1538
+ # @return [String]
1539
+ #
1540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CheckDocumentAccessRequest AWS API Documentation
1541
+ #
1542
+ class CheckDocumentAccessRequest < Struct.new(
1543
+ :application_id,
1544
+ :index_id,
1545
+ :user_id,
1546
+ :document_id,
1547
+ :data_source_id)
1548
+ SENSITIVE = []
1549
+ include Aws::Structure
1550
+ end
1551
+
1552
+ # @!attribute [rw] user_groups
1553
+ # An array of groups the user is part of for the specified data
1554
+ # source. Each group has a name and type.
1555
+ # @return [Array<Types::AssociatedGroup>]
1556
+ #
1557
+ # @!attribute [rw] user_aliases
1558
+ # An array of aliases associated with the user. This includes both
1559
+ # global and local aliases, each with a name and type.
1560
+ # @return [Array<Types::AssociatedUser>]
1561
+ #
1562
+ # @!attribute [rw] has_access
1563
+ # A boolean value indicating whether the specified user has access to
1564
+ # the document, either direct access or transitive access via groups
1565
+ # and aliases attached to the document.
1566
+ # @return [Boolean]
1567
+ #
1568
+ # @!attribute [rw] document_acl
1569
+ # The Access Control List (ACL) associated with the document. Includes
1570
+ # allowlist and denylist conditions that determine user access.
1571
+ # @return [Types::DocumentAcl]
1572
+ #
1573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/CheckDocumentAccessResponse AWS API Documentation
1574
+ #
1575
+ class CheckDocumentAccessResponse < Struct.new(
1576
+ :user_groups,
1577
+ :user_aliases,
1578
+ :has_access,
1579
+ :document_acl)
1580
+ SENSITIVE = []
1581
+ include Aws::Structure
1582
+ end
1583
+
1469
1584
  # A configuration event activated by an end user request to select a
1470
1585
  # specific chat mode.
1471
1586
  #
@@ -2351,12 +2466,14 @@ module Aws::QBusiness
2351
2466
  #
2352
2467
  # @!attribute [rw] origins
2353
2468
  # Sets the website domain origins that are allowed to embed the Amazon
2354
- # Q Business web experience. The <i>domain origin</i> refers to
2355
- # the base URL for accessing a website including the protocol
2356
- # (<code>http/https</code>), the domain name, and the port number (if
2357
- # specified). </p> <note> <p>You must only submit a <i>base URL</i>
2358
- # and not a full path. For example,
2359
- # <code>https://docs.aws.amazon.com</code>.</p> </note>
2469
+ # Q Business web experience. The *domain origin* refers to the base
2470
+ # URL for accessing a website including the protocol (`http/https`),
2471
+ # the domain name, and the port number (if specified).
2472
+ #
2473
+ # <note markdown="1"> You must only submit a *base URL* and not a full path. For example,
2474
+ # `https://docs.aws.amazon.com`.
2475
+ #
2476
+ # </note>
2360
2477
  # @return [Array<String>]
2361
2478
  #
2362
2479
  # @!attribute [rw] role_arn
@@ -3152,6 +3269,126 @@ module Aws::QBusiness
3152
3269
  include Aws::Structure
3153
3270
  end
3154
3271
 
3272
+ # Represents the Access Control List (ACL) for a document, containing
3273
+ # both allowlist and denylist conditions.
3274
+ #
3275
+ # @!attribute [rw] allowlist
3276
+ # The allowlist conditions for the document. Users or groups matching
3277
+ # these conditions are granted access to the document.
3278
+ # @return [Types::DocumentAclMembership]
3279
+ #
3280
+ # @!attribute [rw] deny_list
3281
+ # The denylist conditions for the document. Users or groups matching
3282
+ # these conditions are denied access to the document, overriding
3283
+ # allowlist permissions.
3284
+ # @return [Types::DocumentAclMembership]
3285
+ #
3286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DocumentAcl AWS API Documentation
3287
+ #
3288
+ class DocumentAcl < Struct.new(
3289
+ :allowlist,
3290
+ :deny_list)
3291
+ SENSITIVE = []
3292
+ include Aws::Structure
3293
+ end
3294
+
3295
+ # Represents a condition in the document's ACL, specifying access rules
3296
+ # for users and groups.
3297
+ #
3298
+ # @!attribute [rw] member_relation
3299
+ # The logical relation between members in the condition, determining
3300
+ # how multiple user or group conditions are combined.
3301
+ # @return [String]
3302
+ #
3303
+ # @!attribute [rw] users
3304
+ # An array of user identifiers that this condition applies to. Users
3305
+ # listed here are subject to the access rule defined by this
3306
+ # condition.
3307
+ # @return [Array<Types::DocumentAclUser>]
3308
+ #
3309
+ # @!attribute [rw] groups
3310
+ # An array of group identifiers that this condition applies to. Groups
3311
+ # listed here are subject to the access rule defined by this
3312
+ # condition.
3313
+ # @return [Array<Types::DocumentAclGroup>]
3314
+ #
3315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DocumentAclCondition AWS API Documentation
3316
+ #
3317
+ class DocumentAclCondition < Struct.new(
3318
+ :member_relation,
3319
+ :users,
3320
+ :groups)
3321
+ SENSITIVE = []
3322
+ include Aws::Structure
3323
+ end
3324
+
3325
+ # Represents a group in the document's ACL, used to define access
3326
+ # permissions for multiple users collectively.
3327
+ #
3328
+ # @!attribute [rw] name
3329
+ # The name of the group in the document's ACL. This is used to
3330
+ # identify the group when applying access rules.
3331
+ # @return [String]
3332
+ #
3333
+ # @!attribute [rw] type
3334
+ # The type of the group. This indicates the scope of the group's
3335
+ # applicability in access control.
3336
+ # @return [String]
3337
+ #
3338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DocumentAclGroup AWS API Documentation
3339
+ #
3340
+ class DocumentAclGroup < Struct.new(
3341
+ :name,
3342
+ :type)
3343
+ SENSITIVE = []
3344
+ include Aws::Structure
3345
+ end
3346
+
3347
+ # Represents membership rules in the document's ACL, defining how users
3348
+ # or groups are associated with access permissions.
3349
+ #
3350
+ # @!attribute [rw] member_relation
3351
+ # The logical relation between members in the membership rule,
3352
+ # determining how multiple conditions are combined.
3353
+ # @return [String]
3354
+ #
3355
+ # @!attribute [rw] conditions
3356
+ # An array of conditions that define the membership rules. Each
3357
+ # condition specifies criteria for users or groups to be included in
3358
+ # this membership.
3359
+ # @return [Array<Types::DocumentAclCondition>]
3360
+ #
3361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DocumentAclMembership AWS API Documentation
3362
+ #
3363
+ class DocumentAclMembership < Struct.new(
3364
+ :member_relation,
3365
+ :conditions)
3366
+ SENSITIVE = []
3367
+ include Aws::Structure
3368
+ end
3369
+
3370
+ # Represents a user in the document's ACL, used to define access
3371
+ # permissions for individual users.
3372
+ #
3373
+ # @!attribute [rw] id
3374
+ # The unique identifier of the user in the document's ACL. This is
3375
+ # used to identify the user when applying access rules.
3376
+ # @return [String]
3377
+ #
3378
+ # @!attribute [rw] type
3379
+ # The type of the user. This indicates the scope of the user's
3380
+ # applicability in access control.
3381
+ # @return [String]
3382
+ #
3383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/DocumentAclUser AWS API Documentation
3384
+ #
3385
+ class DocumentAclUser < Struct.new(
3386
+ :id,
3387
+ :type)
3388
+ SENSITIVE = []
3389
+ include Aws::Structure
3390
+ end
3391
+
3155
3392
  # A document attribute or metadata field.
3156
3393
  #
3157
3394
  # @!attribute [rw] name
@@ -4610,10 +4847,9 @@ module Aws::QBusiness
4610
4847
  #
4611
4848
  # @!attribute [rw] origins
4612
4849
  # Gets the website domain origins that are allowed to embed the Amazon
4613
- # Q Business web experience. The <i>domain origin</i> refers to
4614
- # the base URL for accessing a website including the protocol
4615
- # (<code>http/https</code>), the domain name, and the port number (if
4616
- # specified). </p>
4850
+ # Q Business web experience. The *domain origin* refers to the base
4851
+ # URL for accessing a website including the protocol (`http/https`),
4852
+ # the domain name, and the port number (if specified).
4617
4853
  # @return [Array<String>]
4618
4854
  #
4619
4855
  # @!attribute [rw] role_arn
@@ -4793,13 +5029,13 @@ module Aws::QBusiness
4793
5029
  # @return [Types::DocumentAttributeCondition]
4794
5030
  #
4795
5031
  # @!attribute [rw] lambda_arn
4796
- # The Amazon Resource Name (ARN) of a role with permission to run a
4797
- # Lambda function during ingestion. For more information, see [IAM
4798
- # roles for Custom Document Enrichment (CDE)][1].
5032
+ # The Amazon Resource Name (ARN) of the Lambda function sduring
5033
+ # ingestion. For more information, see [Using Lambda functions for
5034
+ # Amazon Q Business document enrichment][1].
4799
5035
  #
4800
5036
  #
4801
5037
  #
4802
- # [1]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/iam-roles.html#cde-iam-role
5038
+ # [1]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/cde-lambda-operations.html
4803
5039
  # @return [String]
4804
5040
  #
4805
5041
  # @!attribute [rw] s3_bucket_name
@@ -8175,14 +8411,17 @@ module Aws::QBusiness
8175
8411
  #
8176
8412
  # @!attribute [rw] origins
8177
8413
  # Updates the website domain origins that are allowed to embed the
8178
- # Amazon Q Business web experience. The <i>domain origin</i>
8179
- # refers to the <i>base URL</i> for accessing a website including the
8180
- # protocol (<code>http/https</code>), the domain name, and the port
8181
- # number (if specified).</p> <note> <ul> <li> <p>Any values except
8182
- # <code>null</code> submitted as part of this update will replace all
8183
- # previous values.</p> </li> <li> <p>You must only submit a <i>base
8184
- # URL</i> and not a full path. For example,
8185
- # <code>https://docs.aws.amazon.com</code>.</p> </li> </ul> </note>
8414
+ # Amazon Q Business web experience. The *domain origin* refers to the
8415
+ # *base URL* for accessing a website including the protocol
8416
+ # (`http/https`), the domain name, and the port number (if specified).
8417
+ #
8418
+ # <note markdown="1"> * Any values except `null` submitted as part of this update will
8419
+ # replace all previous values.
8420
+ #
8421
+ # * You must only submit a *base URL* and not a full path. For
8422
+ # example, `https://docs.aws.amazon.com`.
8423
+ #
8424
+ # </note>
8186
8425
  # @return [Array<String>]
8187
8426
  #
8188
8427
  # @!attribute [rw] browser_extension_configuration
@@ -57,7 +57,7 @@ module Aws::QBusiness
57
57
  autoload :AsyncClient, 'aws-sdk-qbusiness/async_client'
58
58
  autoload :EventStreams, 'aws-sdk-qbusiness/event_streams'
59
59
 
60
- GEM_VERSION = '1.34.0'
60
+ GEM_VERSION = '1.35.0'
61
61
 
62
62
  end
63
63
 
data/sig/client.rbs CHANGED
@@ -391,6 +391,23 @@ module Aws
391
391
  ) -> _ChatSyncResponseSuccess
392
392
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ChatSyncResponseSuccess
393
393
 
394
+ interface _CheckDocumentAccessResponseSuccess
395
+ include ::Seahorse::Client::_ResponseSuccess[Types::CheckDocumentAccessResponse]
396
+ def user_groups: () -> ::Array[Types::AssociatedGroup]
397
+ def user_aliases: () -> ::Array[Types::AssociatedUser]
398
+ def has_access: () -> bool
399
+ def document_acl: () -> Types::DocumentAcl
400
+ end
401
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/QBusiness/Client.html#check_document_access-instance_method
402
+ def check_document_access: (
403
+ application_id: ::String,
404
+ index_id: ::String,
405
+ user_id: ::String,
406
+ document_id: ::String,
407
+ ?data_source_id: ::String
408
+ ) -> _CheckDocumentAccessResponseSuccess
409
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CheckDocumentAccessResponseSuccess
410
+
394
411
  interface _CreateApplicationResponseSuccess
395
412
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateApplicationResponse]
396
413
  def application_id: () -> ::String
data/sig/types.rbs CHANGED
@@ -156,6 +156,18 @@ module Aws::QBusiness
156
156
  SENSITIVE: []
157
157
  end
158
158
 
159
+ class AssociatedGroup
160
+ attr_accessor name: ::String
161
+ attr_accessor type: ("INDEX" | "DATASOURCE")
162
+ SENSITIVE: []
163
+ end
164
+
165
+ class AssociatedUser
166
+ attr_accessor id: ::String
167
+ attr_accessor type: ("INDEX" | "DATASOURCE")
168
+ SENSITIVE: []
169
+ end
170
+
159
171
  class Attachment
160
172
  attr_accessor attachment_id: ::String
161
173
  attr_accessor conversation_id: ::String
@@ -373,6 +385,23 @@ module Aws::QBusiness
373
385
  SENSITIVE: []
374
386
  end
375
387
 
388
+ class CheckDocumentAccessRequest
389
+ attr_accessor application_id: ::String
390
+ attr_accessor index_id: ::String
391
+ attr_accessor user_id: ::String
392
+ attr_accessor document_id: ::String
393
+ attr_accessor data_source_id: ::String
394
+ SENSITIVE: []
395
+ end
396
+
397
+ class CheckDocumentAccessResponse
398
+ attr_accessor user_groups: ::Array[Types::AssociatedGroup]
399
+ attr_accessor user_aliases: ::Array[Types::AssociatedUser]
400
+ attr_accessor has_access: bool
401
+ attr_accessor document_acl: Types::DocumentAcl
402
+ SENSITIVE: []
403
+ end
404
+
376
405
  class ConfigurationEvent
377
406
  attr_accessor chat_mode: ("RETRIEVAL_MODE" | "CREATOR_MODE" | "PLUGIN_MODE")
378
407
  attr_accessor chat_mode_configuration: Types::ChatModeConfiguration
@@ -809,6 +838,37 @@ module Aws::QBusiness
809
838
  SENSITIVE: []
810
839
  end
811
840
 
841
+ class DocumentAcl
842
+ attr_accessor allowlist: Types::DocumentAclMembership
843
+ attr_accessor deny_list: Types::DocumentAclMembership
844
+ SENSITIVE: []
845
+ end
846
+
847
+ class DocumentAclCondition
848
+ attr_accessor member_relation: ("AND" | "OR")
849
+ attr_accessor users: ::Array[Types::DocumentAclUser]
850
+ attr_accessor groups: ::Array[Types::DocumentAclGroup]
851
+ SENSITIVE: []
852
+ end
853
+
854
+ class DocumentAclGroup
855
+ attr_accessor name: ::String
856
+ attr_accessor type: ("INDEX" | "DATASOURCE")
857
+ SENSITIVE: []
858
+ end
859
+
860
+ class DocumentAclMembership
861
+ attr_accessor member_relation: ("AND" | "OR")
862
+ attr_accessor conditions: ::Array[Types::DocumentAclCondition]
863
+ SENSITIVE: []
864
+ end
865
+
866
+ class DocumentAclUser
867
+ attr_accessor id: ::String
868
+ attr_accessor type: ("INDEX" | "DATASOURCE")
869
+ SENSITIVE: []
870
+ end
871
+
812
872
  class DocumentAttribute
813
873
  attr_accessor name: ::String
814
874
  attr_accessor value: Types::DocumentAttributeValue
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-qbusiness
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.0
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-10 00:00:00.000000000 Z
11
+ date: 2025-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core