aws-sdk-bedrockagentcorecontrol 1.35.0 → 1.37.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.
@@ -2422,6 +2422,255 @@ module Aws::BedrockAgentCoreControl
2422
2422
  req.send_request(options)
2423
2423
  end
2424
2424
 
2425
+ # Creates a new registry in your Amazon Web Services account. A registry
2426
+ # serves as a centralized catalog for organizing and managing registry
2427
+ # records, including MCP servers, A2A agents, agent skills, and custom
2428
+ # resource types.
2429
+ #
2430
+ # If you specify `CUSTOM_JWT` as the `authorizerType`, you must provide
2431
+ # an `authorizerConfiguration`.
2432
+ #
2433
+ # @option params [required, String] :name
2434
+ # The name of the registry. The name must be unique within your account
2435
+ # and can contain alphanumeric characters and underscores.
2436
+ #
2437
+ # @option params [String] :description
2438
+ # A description of the registry.
2439
+ #
2440
+ # @option params [String] :authorizer_type
2441
+ # The type of authorizer to use for the registry. This controls the
2442
+ # authorization method for the Search and Invoke APIs used by consumers,
2443
+ # and does not affect the standard CRUDL APIs for registry and registry
2444
+ # record management used by administrators.
2445
+ #
2446
+ # * `CUSTOM_JWT` - Authorize with a bearer token.
2447
+ #
2448
+ # * `AWS_IAM` - Authorize with your Amazon Web Services IAM credentials.
2449
+ #
2450
+ # @option params [Types::AuthorizerConfiguration] :authorizer_configuration
2451
+ # The authorizer configuration for the registry. Required if
2452
+ # `authorizerType` is `CUSTOM_JWT`. For details, see the
2453
+ # `AuthorizerConfiguration` data type.
2454
+ #
2455
+ # @option params [String] :client_token
2456
+ # A unique, case-sensitive identifier to ensure that the API request
2457
+ # completes no more than one time. If you don't specify this field, a
2458
+ # value is randomly generated for you. If this token matches a previous
2459
+ # request, the service ignores the request, but doesn't return an
2460
+ # error. For more information, see [Ensuring idempotency][1].
2461
+ #
2462
+ # **A suitable default value is auto-generated.** You should normally
2463
+ # not need to pass this option.**
2464
+ #
2465
+ #
2466
+ #
2467
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2468
+ #
2469
+ # @option params [Types::ApprovalConfiguration] :approval_configuration
2470
+ # The approval configuration for registry records. Controls whether
2471
+ # records require explicit approval before becoming active. See the
2472
+ # `ApprovalConfiguration` data type for supported configuration options.
2473
+ #
2474
+ # @return [Types::CreateRegistryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2475
+ #
2476
+ # * {Types::CreateRegistryResponse#registry_arn #registry_arn} => String
2477
+ #
2478
+ # @example Request syntax with placeholder values
2479
+ #
2480
+ # resp = client.create_registry({
2481
+ # name: "RegistryName", # required
2482
+ # description: "Description",
2483
+ # authorizer_type: "CUSTOM_JWT", # accepts CUSTOM_JWT, AWS_IAM
2484
+ # authorizer_configuration: {
2485
+ # custom_jwt_authorizer: {
2486
+ # discovery_url: "DiscoveryUrl", # required
2487
+ # allowed_audience: ["AllowedAudience"],
2488
+ # allowed_clients: ["AllowedClient"],
2489
+ # allowed_scopes: ["AllowedScopeType"],
2490
+ # custom_claims: [
2491
+ # {
2492
+ # inbound_token_claim_name: "InboundTokenClaimNameType", # required
2493
+ # inbound_token_claim_value_type: "STRING", # required, accepts STRING, STRING_ARRAY
2494
+ # authorizing_claim_match_value: { # required
2495
+ # claim_match_value: { # required
2496
+ # match_value_string: "MatchValueString",
2497
+ # match_value_string_list: ["MatchValueString"],
2498
+ # },
2499
+ # claim_match_operator: "EQUALS", # required, accepts EQUALS, CONTAINS, CONTAINS_ANY
2500
+ # },
2501
+ # },
2502
+ # ],
2503
+ # },
2504
+ # },
2505
+ # client_token: "ClientToken",
2506
+ # approval_configuration: {
2507
+ # auto_approval: false,
2508
+ # },
2509
+ # })
2510
+ #
2511
+ # @example Response structure
2512
+ #
2513
+ # resp.registry_arn #=> String
2514
+ #
2515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/CreateRegistry AWS API Documentation
2516
+ #
2517
+ # @overload create_registry(params = {})
2518
+ # @param [Hash] params ({})
2519
+ def create_registry(params = {}, options = {})
2520
+ req = build_request(:create_registry, params)
2521
+ req.send_request(options)
2522
+ end
2523
+
2524
+ # Creates a new registry record within the specified registry. A
2525
+ # registry record represents an individual AI resource's metadata in
2526
+ # the registry. This could be an MCP server (and associated tools), A2A
2527
+ # agent, agent skill, or a custom resource with a custom schema.
2528
+ #
2529
+ # The record is processed asynchronously and returns HTTP 202 Accepted.
2530
+ #
2531
+ # @option params [required, String] :registry_id
2532
+ # The identifier of the registry where the record will be created. You
2533
+ # can specify either the Amazon Resource Name (ARN) or the ID of the
2534
+ # registry.
2535
+ #
2536
+ # @option params [required, String] :name
2537
+ # The name of the registry record.
2538
+ #
2539
+ # @option params [String] :description
2540
+ # A description of the registry record.
2541
+ #
2542
+ # @option params [required, String] :descriptor_type
2543
+ # The descriptor type of the registry record.
2544
+ #
2545
+ # * `MCP` - Model Context Protocol descriptor for MCP-compatible servers
2546
+ # and tools.
2547
+ #
2548
+ # * `A2A` - Agent-to-Agent protocol descriptor.
2549
+ #
2550
+ # * `CUSTOM` - Custom descriptor type for resources such as APIs, Lambda
2551
+ # functions, or servers not conforming to a standard protocol.
2552
+ #
2553
+ # * `AGENT_SKILLS` - Agent skills descriptor for defining agent skill
2554
+ # definitions.
2555
+ #
2556
+ # @option params [Types::Descriptors] :descriptors
2557
+ # The descriptor-type-specific configuration containing the resource
2558
+ # schema and metadata. The structure of this field depends on the
2559
+ # `descriptorType` you specify.
2560
+ #
2561
+ # @option params [String] :record_version
2562
+ # The version of the registry record. Use this to track different
2563
+ # versions of the record's content.
2564
+ #
2565
+ # @option params [String] :synchronization_type
2566
+ # The type of synchronization to use for keeping the record metadata up
2567
+ # to date from an external source. Possible values include `FROM_URL`
2568
+ # and `NONE`.
2569
+ #
2570
+ # @option params [Types::SynchronizationConfiguration] :synchronization_configuration
2571
+ # The configuration for synchronizing registry record metadata from an
2572
+ # external source, such as a URL-based MCP server.
2573
+ #
2574
+ # @option params [String] :client_token
2575
+ # A unique, case-sensitive identifier to ensure that the API request
2576
+ # completes no more than one time. If you don't specify this field, a
2577
+ # value is randomly generated for you. If this token matches a previous
2578
+ # request, the service ignores the request, but doesn't return an
2579
+ # error. For more information, see [Ensuring idempotency][1].
2580
+ #
2581
+ # **A suitable default value is auto-generated.** You should normally
2582
+ # not need to pass this option.**
2583
+ #
2584
+ #
2585
+ #
2586
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2587
+ #
2588
+ # @return [Types::CreateRegistryRecordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2589
+ #
2590
+ # * {Types::CreateRegistryRecordResponse#record_arn #record_arn} => String
2591
+ # * {Types::CreateRegistryRecordResponse#status #status} => String
2592
+ #
2593
+ # @example Request syntax with placeholder values
2594
+ #
2595
+ # resp = client.create_registry_record({
2596
+ # registry_id: "RegistryIdentifier", # required
2597
+ # name: "RegistryRecordName", # required
2598
+ # description: "Description",
2599
+ # descriptor_type: "MCP", # required, accepts MCP, A2A, CUSTOM, AGENT_SKILLS
2600
+ # descriptors: {
2601
+ # mcp: {
2602
+ # server: {
2603
+ # schema_version: "SchemaVersion",
2604
+ # inline_content: "InlineContent",
2605
+ # },
2606
+ # tools: {
2607
+ # protocol_version: "SchemaVersion",
2608
+ # inline_content: "InlineContent",
2609
+ # },
2610
+ # },
2611
+ # a2a: {
2612
+ # agent_card: {
2613
+ # schema_version: "SchemaVersion",
2614
+ # inline_content: "InlineContent",
2615
+ # },
2616
+ # },
2617
+ # custom: {
2618
+ # inline_content: "InlineContent",
2619
+ # },
2620
+ # agent_skills: {
2621
+ # skill_md: {
2622
+ # inline_content: "InlineContent",
2623
+ # },
2624
+ # skill_definition: {
2625
+ # schema_version: "SchemaVersion",
2626
+ # inline_content: "InlineContent",
2627
+ # },
2628
+ # },
2629
+ # },
2630
+ # record_version: "RegistryRecordVersion",
2631
+ # synchronization_type: "URL", # accepts URL
2632
+ # synchronization_configuration: {
2633
+ # from_url: {
2634
+ # url: "McpServerUrl", # required
2635
+ # credential_provider_configurations: [
2636
+ # {
2637
+ # credential_provider_type: "OAUTH", # required, accepts OAUTH, IAM
2638
+ # credential_provider: { # required
2639
+ # oauth_credential_provider: {
2640
+ # provider_arn: "CredentialProviderArn", # required
2641
+ # grant_type: "CLIENT_CREDENTIALS", # accepts CLIENT_CREDENTIALS
2642
+ # scopes: ["String"],
2643
+ # custom_parameters: {
2644
+ # "String" => "String",
2645
+ # },
2646
+ # },
2647
+ # iam_credential_provider: {
2648
+ # role_arn: "IamRoleArn",
2649
+ # service: "IamSigningServiceName",
2650
+ # region: "IamSigningRegion",
2651
+ # },
2652
+ # },
2653
+ # },
2654
+ # ],
2655
+ # },
2656
+ # },
2657
+ # client_token: "ClientToken",
2658
+ # })
2659
+ #
2660
+ # @example Response structure
2661
+ #
2662
+ # resp.record_arn #=> String
2663
+ # resp.status #=> String, one of "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "DEPRECATED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED"
2664
+ #
2665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/CreateRegistryRecord AWS API Documentation
2666
+ #
2667
+ # @overload create_registry_record(params = {})
2668
+ # @param [Hash] params ({})
2669
+ def create_registry_record(params = {}, options = {})
2670
+ req = build_request(:create_registry_record, params)
2671
+ req.send_request(options)
2672
+ end
2673
+
2425
2674
  # Creates a new workload identity.
2426
2675
  #
2427
2676
  # @option params [required, String] :name
@@ -3016,6 +3265,66 @@ module Aws::BedrockAgentCoreControl
3016
3265
  req.send_request(options)
3017
3266
  end
3018
3267
 
3268
+ # Deletes a registry. The registry must contain zero records before it
3269
+ # can be deleted. This operation initiates the deletion process
3270
+ # asynchronously.
3271
+ #
3272
+ # @option params [required, String] :registry_id
3273
+ # The identifier of the registry to delete. You can specify either the
3274
+ # Amazon Resource Name (ARN) or the ID of the registry.
3275
+ #
3276
+ # @return [Types::DeleteRegistryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3277
+ #
3278
+ # * {Types::DeleteRegistryResponse#status #status} => String
3279
+ #
3280
+ # @example Request syntax with placeholder values
3281
+ #
3282
+ # resp = client.delete_registry({
3283
+ # registry_id: "RegistryIdentifier", # required
3284
+ # })
3285
+ #
3286
+ # @example Response structure
3287
+ #
3288
+ # resp.status #=> String, one of "CREATING", "READY", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED", "DELETING", "DELETE_FAILED"
3289
+ #
3290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/DeleteRegistry AWS API Documentation
3291
+ #
3292
+ # @overload delete_registry(params = {})
3293
+ # @param [Hash] params ({})
3294
+ def delete_registry(params = {}, options = {})
3295
+ req = build_request(:delete_registry, params)
3296
+ req.send_request(options)
3297
+ end
3298
+
3299
+ # Deletes a registry record. The record's status transitions to
3300
+ # `DELETING` and the record is removed asynchronously.
3301
+ #
3302
+ # @option params [required, String] :registry_id
3303
+ # The identifier of the registry containing the record. You can specify
3304
+ # either the Amazon Resource Name (ARN) or the ID of the registry.
3305
+ #
3306
+ # @option params [required, String] :record_id
3307
+ # The identifier of the registry record to delete. You can specify
3308
+ # either the Amazon Resource Name (ARN) or the ID of the record.
3309
+ #
3310
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3311
+ #
3312
+ # @example Request syntax with placeholder values
3313
+ #
3314
+ # resp = client.delete_registry_record({
3315
+ # registry_id: "RegistryIdentifier", # required
3316
+ # record_id: "RecordIdentifier", # required
3317
+ # })
3318
+ #
3319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/DeleteRegistryRecord AWS API Documentation
3320
+ #
3321
+ # @overload delete_registry_record(params = {})
3322
+ # @param [Hash] params ({})
3323
+ def delete_registry_record(params = {}, options = {})
3324
+ req = build_request(:delete_registry_record, params)
3325
+ req.send_request(options)
3326
+ end
3327
+
3019
3328
  # Deletes the resource-based policy for a specified resource.
3020
3329
  #
3021
3330
  # <note markdown="1"> This feature is currently available only for AgentCore Runtime and
@@ -4172,6 +4481,148 @@ module Aws::BedrockAgentCoreControl
4172
4481
  req.send_request(options)
4173
4482
  end
4174
4483
 
4484
+ # Retrieves information about a specific registry.
4485
+ #
4486
+ # @option params [required, String] :registry_id
4487
+ # The identifier of the registry to retrieve. You can specify either the
4488
+ # Amazon Resource Name (ARN) or the ID of the registry.
4489
+ #
4490
+ # @return [Types::GetRegistryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4491
+ #
4492
+ # * {Types::GetRegistryResponse#name #name} => String
4493
+ # * {Types::GetRegistryResponse#description #description} => String
4494
+ # * {Types::GetRegistryResponse#registry_id #registry_id} => String
4495
+ # * {Types::GetRegistryResponse#registry_arn #registry_arn} => String
4496
+ # * {Types::GetRegistryResponse#authorizer_type #authorizer_type} => String
4497
+ # * {Types::GetRegistryResponse#authorizer_configuration #authorizer_configuration} => Types::AuthorizerConfiguration
4498
+ # * {Types::GetRegistryResponse#approval_configuration #approval_configuration} => Types::ApprovalConfiguration
4499
+ # * {Types::GetRegistryResponse#status #status} => String
4500
+ # * {Types::GetRegistryResponse#status_reason #status_reason} => String
4501
+ # * {Types::GetRegistryResponse#created_at #created_at} => Time
4502
+ # * {Types::GetRegistryResponse#updated_at #updated_at} => Time
4503
+ #
4504
+ # @example Request syntax with placeholder values
4505
+ #
4506
+ # resp = client.get_registry({
4507
+ # registry_id: "RegistryIdentifier", # required
4508
+ # })
4509
+ #
4510
+ # @example Response structure
4511
+ #
4512
+ # resp.name #=> String
4513
+ # resp.description #=> String
4514
+ # resp.registry_id #=> String
4515
+ # resp.registry_arn #=> String
4516
+ # resp.authorizer_type #=> String, one of "CUSTOM_JWT", "AWS_IAM"
4517
+ # resp.authorizer_configuration.custom_jwt_authorizer.discovery_url #=> String
4518
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_audience #=> Array
4519
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_audience[0] #=> String
4520
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_clients #=> Array
4521
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_clients[0] #=> String
4522
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_scopes #=> Array
4523
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_scopes[0] #=> String
4524
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims #=> Array
4525
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].inbound_token_claim_name #=> String
4526
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].inbound_token_claim_value_type #=> String, one of "STRING", "STRING_ARRAY"
4527
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_value.match_value_string #=> String
4528
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_value.match_value_string_list #=> Array
4529
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_value.match_value_string_list[0] #=> String
4530
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_operator #=> String, one of "EQUALS", "CONTAINS", "CONTAINS_ANY"
4531
+ # resp.approval_configuration.auto_approval #=> Boolean
4532
+ # resp.status #=> String, one of "CREATING", "READY", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED", "DELETING", "DELETE_FAILED"
4533
+ # resp.status_reason #=> String
4534
+ # resp.created_at #=> Time
4535
+ # resp.updated_at #=> Time
4536
+ #
4537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/GetRegistry AWS API Documentation
4538
+ #
4539
+ # @overload get_registry(params = {})
4540
+ # @param [Hash] params ({})
4541
+ def get_registry(params = {}, options = {})
4542
+ req = build_request(:get_registry, params)
4543
+ req.send_request(options)
4544
+ end
4545
+
4546
+ # Retrieves information about a specific registry record.
4547
+ #
4548
+ # @option params [required, String] :registry_id
4549
+ # The identifier of the registry containing the record. You can specify
4550
+ # either the Amazon Resource Name (ARN) or the ID of the registry.
4551
+ #
4552
+ # @option params [required, String] :record_id
4553
+ # The identifier of the registry record to retrieve. You can specify
4554
+ # either the Amazon Resource Name (ARN) or the ID of the record.
4555
+ #
4556
+ # @return [Types::GetRegistryRecordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4557
+ #
4558
+ # * {Types::GetRegistryRecordResponse#registry_arn #registry_arn} => String
4559
+ # * {Types::GetRegistryRecordResponse#record_arn #record_arn} => String
4560
+ # * {Types::GetRegistryRecordResponse#record_id #record_id} => String
4561
+ # * {Types::GetRegistryRecordResponse#name #name} => String
4562
+ # * {Types::GetRegistryRecordResponse#description #description} => String
4563
+ # * {Types::GetRegistryRecordResponse#descriptor_type #descriptor_type} => String
4564
+ # * {Types::GetRegistryRecordResponse#descriptors #descriptors} => Types::Descriptors
4565
+ # * {Types::GetRegistryRecordResponse#record_version #record_version} => String
4566
+ # * {Types::GetRegistryRecordResponse#status #status} => String
4567
+ # * {Types::GetRegistryRecordResponse#created_at #created_at} => Time
4568
+ # * {Types::GetRegistryRecordResponse#updated_at #updated_at} => Time
4569
+ # * {Types::GetRegistryRecordResponse#status_reason #status_reason} => String
4570
+ # * {Types::GetRegistryRecordResponse#synchronization_type #synchronization_type} => String
4571
+ # * {Types::GetRegistryRecordResponse#synchronization_configuration #synchronization_configuration} => Types::SynchronizationConfiguration
4572
+ #
4573
+ # @example Request syntax with placeholder values
4574
+ #
4575
+ # resp = client.get_registry_record({
4576
+ # registry_id: "RegistryIdentifier", # required
4577
+ # record_id: "RecordIdentifier", # required
4578
+ # })
4579
+ #
4580
+ # @example Response structure
4581
+ #
4582
+ # resp.registry_arn #=> String
4583
+ # resp.record_arn #=> String
4584
+ # resp.record_id #=> String
4585
+ # resp.name #=> String
4586
+ # resp.description #=> String
4587
+ # resp.descriptor_type #=> String, one of "MCP", "A2A", "CUSTOM", "AGENT_SKILLS"
4588
+ # resp.descriptors.mcp.server.schema_version #=> String
4589
+ # resp.descriptors.mcp.server.inline_content #=> String
4590
+ # resp.descriptors.mcp.tools.protocol_version #=> String
4591
+ # resp.descriptors.mcp.tools.inline_content #=> String
4592
+ # resp.descriptors.a2a.agent_card.schema_version #=> String
4593
+ # resp.descriptors.a2a.agent_card.inline_content #=> String
4594
+ # resp.descriptors.custom.inline_content #=> String
4595
+ # resp.descriptors.agent_skills.skill_md.inline_content #=> String
4596
+ # resp.descriptors.agent_skills.skill_definition.schema_version #=> String
4597
+ # resp.descriptors.agent_skills.skill_definition.inline_content #=> String
4598
+ # resp.record_version #=> String
4599
+ # resp.status #=> String, one of "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "DEPRECATED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED"
4600
+ # resp.created_at #=> Time
4601
+ # resp.updated_at #=> Time
4602
+ # resp.status_reason #=> String
4603
+ # resp.synchronization_type #=> String, one of "URL"
4604
+ # resp.synchronization_configuration.from_url.url #=> String
4605
+ # resp.synchronization_configuration.from_url.credential_provider_configurations #=> Array
4606
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider_type #=> String, one of "OAUTH", "IAM"
4607
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.provider_arn #=> String
4608
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.grant_type #=> String, one of "CLIENT_CREDENTIALS"
4609
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.scopes #=> Array
4610
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.scopes[0] #=> String
4611
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.custom_parameters #=> Hash
4612
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.custom_parameters["String"] #=> String
4613
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.iam_credential_provider.role_arn #=> String
4614
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.iam_credential_provider.service #=> String
4615
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.iam_credential_provider.region #=> String
4616
+ #
4617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/GetRegistryRecord AWS API Documentation
4618
+ #
4619
+ # @overload get_registry_record(params = {})
4620
+ # @param [Hash] params ({})
4621
+ def get_registry_record(params = {}, options = {})
4622
+ req = build_request(:get_registry_record, params)
4623
+ req.send_request(options)
4624
+ end
4625
+
4175
4626
  # Retrieves the resource-based policy for a specified resource.
4176
4627
  #
4177
4628
  # <note markdown="1"> This feature is currently available only for AgentCore Runtime and
@@ -5148,6 +5599,140 @@ module Aws::BedrockAgentCoreControl
5148
5599
  req.send_request(options)
5149
5600
  end
5150
5601
 
5602
+ # Lists all registries in the account. You can optionally filter results
5603
+ # by status using the `status` parameter.
5604
+ #
5605
+ # @option params [Integer] :max_results
5606
+ # The maximum number of results to return in the response. If the total
5607
+ # number of results is greater than this value, use the token returned
5608
+ # in the response in the `nextToken` field when making another request
5609
+ # to return the next batch of results.
5610
+ #
5611
+ # @option params [String] :next_token
5612
+ # If the total number of results is greater than the `maxResults` value
5613
+ # provided in the request, enter the token returned in the `nextToken`
5614
+ # field in the response in this field to return the next batch of
5615
+ # results.
5616
+ #
5617
+ # @option params [String] :status
5618
+ # Filter registries by their current status. Possible values include
5619
+ # `CREATING`, `READY`, `UPDATING`, `CREATE_FAILED`, `UPDATE_FAILED`,
5620
+ # `DELETING`, and `DELETE_FAILED`.
5621
+ #
5622
+ # @return [Types::ListRegistriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5623
+ #
5624
+ # * {Types::ListRegistriesResponse#registries #registries} => Array&lt;Types::RegistrySummary&gt;
5625
+ # * {Types::ListRegistriesResponse#next_token #next_token} => String
5626
+ #
5627
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5628
+ #
5629
+ # @example Request syntax with placeholder values
5630
+ #
5631
+ # resp = client.list_registries({
5632
+ # max_results: 1,
5633
+ # next_token: "NextToken",
5634
+ # status: "CREATING", # accepts CREATING, READY, UPDATING, CREATE_FAILED, UPDATE_FAILED, DELETING, DELETE_FAILED
5635
+ # })
5636
+ #
5637
+ # @example Response structure
5638
+ #
5639
+ # resp.registries #=> Array
5640
+ # resp.registries[0].name #=> String
5641
+ # resp.registries[0].description #=> String
5642
+ # resp.registries[0].registry_id #=> String
5643
+ # resp.registries[0].registry_arn #=> String
5644
+ # resp.registries[0].authorizer_type #=> String, one of "CUSTOM_JWT", "AWS_IAM"
5645
+ # resp.registries[0].status #=> String, one of "CREATING", "READY", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED", "DELETING", "DELETE_FAILED"
5646
+ # resp.registries[0].status_reason #=> String
5647
+ # resp.registries[0].created_at #=> Time
5648
+ # resp.registries[0].updated_at #=> Time
5649
+ # resp.next_token #=> String
5650
+ #
5651
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/ListRegistries AWS API Documentation
5652
+ #
5653
+ # @overload list_registries(params = {})
5654
+ # @param [Hash] params ({})
5655
+ def list_registries(params = {}, options = {})
5656
+ req = build_request(:list_registries, params)
5657
+ req.send_request(options)
5658
+ end
5659
+
5660
+ # Lists registry records within a registry. You can optionally filter
5661
+ # results using the `name`, `status`, and `descriptorType` parameters.
5662
+ # When multiple filters are specified, they are combined using AND
5663
+ # logic.
5664
+ #
5665
+ # @option params [required, String] :registry_id
5666
+ # The identifier of the registry to list records from. You can specify
5667
+ # either the Amazon Resource Name (ARN) or the ID of the registry.
5668
+ #
5669
+ # @option params [Integer] :max_results
5670
+ # The maximum number of results to return in the response. If the total
5671
+ # number of results is greater than this value, use the token returned
5672
+ # in the response in the `nextToken` field when making another request
5673
+ # to return the next batch of results.
5674
+ #
5675
+ # @option params [String] :next_token
5676
+ # If the total number of results is greater than the `maxResults` value
5677
+ # provided in the request, enter the token returned in the `nextToken`
5678
+ # field in the response in this field to return the next batch of
5679
+ # results.
5680
+ #
5681
+ # @option params [String] :name
5682
+ # Filter registry records by name.
5683
+ #
5684
+ # @option params [String] :status
5685
+ # Filter registry records by their current status. Possible values
5686
+ # include `CREATING`, `DRAFT`, `APPROVED`, `PENDING_APPROVAL`,
5687
+ # `REJECTED`, `DEPRECATED`, `UPDATING`, `CREATE_FAILED`, and
5688
+ # `UPDATE_FAILED`.
5689
+ #
5690
+ # @option params [String] :descriptor_type
5691
+ # Filter registry records by their descriptor type. Possible values are
5692
+ # `MCP`, `A2A`, `CUSTOM`, and `AGENT_SKILLS`.
5693
+ #
5694
+ # @return [Types::ListRegistryRecordsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5695
+ #
5696
+ # * {Types::ListRegistryRecordsResponse#registry_records #registry_records} => Array&lt;Types::RegistryRecordSummary&gt;
5697
+ # * {Types::ListRegistryRecordsResponse#next_token #next_token} => String
5698
+ #
5699
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5700
+ #
5701
+ # @example Request syntax with placeholder values
5702
+ #
5703
+ # resp = client.list_registry_records({
5704
+ # registry_id: "RegistryIdentifier", # required
5705
+ # max_results: 1,
5706
+ # next_token: "NextToken",
5707
+ # name: "RegistryRecordName",
5708
+ # status: "DRAFT", # accepts DRAFT, PENDING_APPROVAL, APPROVED, REJECTED, DEPRECATED, CREATING, UPDATING, CREATE_FAILED, UPDATE_FAILED
5709
+ # descriptor_type: "MCP", # accepts MCP, A2A, CUSTOM, AGENT_SKILLS
5710
+ # })
5711
+ #
5712
+ # @example Response structure
5713
+ #
5714
+ # resp.registry_records #=> Array
5715
+ # resp.registry_records[0].registry_arn #=> String
5716
+ # resp.registry_records[0].record_arn #=> String
5717
+ # resp.registry_records[0].record_id #=> String
5718
+ # resp.registry_records[0].name #=> String
5719
+ # resp.registry_records[0].description #=> String
5720
+ # resp.registry_records[0].descriptor_type #=> String, one of "MCP", "A2A", "CUSTOM", "AGENT_SKILLS"
5721
+ # resp.registry_records[0].record_version #=> String
5722
+ # resp.registry_records[0].status #=> String, one of "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "DEPRECATED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED"
5723
+ # resp.registry_records[0].created_at #=> Time
5724
+ # resp.registry_records[0].updated_at #=> Time
5725
+ # resp.next_token #=> String
5726
+ #
5727
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/ListRegistryRecords AWS API Documentation
5728
+ #
5729
+ # @overload list_registry_records(params = {})
5730
+ # @param [Hash] params ({})
5731
+ def list_registry_records(params = {}, options = {})
5732
+ req = build_request(:list_registry_records, params)
5733
+ req.send_request(options)
5734
+ end
5735
+
5151
5736
  # Lists the tags associated with the specified resource.
5152
5737
  #
5153
5738
  # <note markdown="1"> This feature is currently available only for AgentCore Runtime,
@@ -5397,6 +5982,50 @@ module Aws::BedrockAgentCoreControl
5397
5982
  req.send_request(options)
5398
5983
  end
5399
5984
 
5985
+ # Submits a registry record for approval. This transitions the record
5986
+ # from `DRAFT` status to `PENDING_APPROVAL` status. If the registry has
5987
+ # auto-approval enabled, the record is automatically approved.
5988
+ #
5989
+ # @option params [required, String] :registry_id
5990
+ # The identifier of the registry containing the record. You can specify
5991
+ # either the Amazon Resource Name (ARN) or the ID of the registry.
5992
+ #
5993
+ # @option params [required, String] :record_id
5994
+ # The identifier of the registry record to submit for approval. You can
5995
+ # specify either the Amazon Resource Name (ARN) or the ID of the record.
5996
+ #
5997
+ # @return [Types::SubmitRegistryRecordForApprovalResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5998
+ #
5999
+ # * {Types::SubmitRegistryRecordForApprovalResponse#registry_arn #registry_arn} => String
6000
+ # * {Types::SubmitRegistryRecordForApprovalResponse#record_arn #record_arn} => String
6001
+ # * {Types::SubmitRegistryRecordForApprovalResponse#record_id #record_id} => String
6002
+ # * {Types::SubmitRegistryRecordForApprovalResponse#status #status} => String
6003
+ # * {Types::SubmitRegistryRecordForApprovalResponse#updated_at #updated_at} => Time
6004
+ #
6005
+ # @example Request syntax with placeholder values
6006
+ #
6007
+ # resp = client.submit_registry_record_for_approval({
6008
+ # registry_id: "RegistryIdentifier", # required
6009
+ # record_id: "RecordIdentifier", # required
6010
+ # })
6011
+ #
6012
+ # @example Response structure
6013
+ #
6014
+ # resp.registry_arn #=> String
6015
+ # resp.record_arn #=> String
6016
+ # resp.record_id #=> String
6017
+ # resp.status #=> String, one of "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "DEPRECATED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED"
6018
+ # resp.updated_at #=> Time
6019
+ #
6020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/SubmitRegistryRecordForApproval AWS API Documentation
6021
+ #
6022
+ # @overload submit_registry_record_for_approval(params = {})
6023
+ # @param [Hash] params ({})
6024
+ def submit_registry_record_for_approval(params = {}, options = {})
6025
+ req = build_request(:submit_registry_record_for_approval, params)
6026
+ req.send_request(options)
6027
+ end
6028
+
5400
6029
  # Synchronizes the gateway targets by fetching the latest tool
5401
6030
  # definitions from the target endpoints.
5402
6031
  #
@@ -7198,6 +7827,376 @@ module Aws::BedrockAgentCoreControl
7198
7827
  req.send_request(options)
7199
7828
  end
7200
7829
 
7830
+ # Updates an existing registry. This operation uses PATCH semantics, so
7831
+ # you only need to specify the fields you want to change.
7832
+ #
7833
+ # @option params [required, String] :registry_id
7834
+ # The identifier of the registry to update. You can specify either the
7835
+ # Amazon Resource Name (ARN) or the ID of the registry.
7836
+ #
7837
+ # @option params [String] :name
7838
+ # The updated name of the registry.
7839
+ #
7840
+ # @option params [Types::UpdatedDescription] :description
7841
+ # The updated description of the registry. To clear the description,
7842
+ # include the `UpdatedDescription` wrapper with `optionalValue` not
7843
+ # specified.
7844
+ #
7845
+ # @option params [Types::UpdatedAuthorizerConfiguration] :authorizer_configuration
7846
+ # The updated authorizer configuration for the registry. Changing the
7847
+ # authorizer configuration can break existing consumers of the registry
7848
+ # who are using the authorization type prior to the update.
7849
+ #
7850
+ # @option params [Types::UpdatedApprovalConfiguration] :approval_configuration
7851
+ # The updated approval configuration for registry records. The updated
7852
+ # configuration only affects new records that move to `PENDING_APPROVAL`
7853
+ # status after the change. Existing records already in
7854
+ # `PENDING_APPROVAL` status are not affected.
7855
+ #
7856
+ # @return [Types::UpdateRegistryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7857
+ #
7858
+ # * {Types::UpdateRegistryResponse#name #name} => String
7859
+ # * {Types::UpdateRegistryResponse#description #description} => String
7860
+ # * {Types::UpdateRegistryResponse#registry_id #registry_id} => String
7861
+ # * {Types::UpdateRegistryResponse#registry_arn #registry_arn} => String
7862
+ # * {Types::UpdateRegistryResponse#authorizer_type #authorizer_type} => String
7863
+ # * {Types::UpdateRegistryResponse#authorizer_configuration #authorizer_configuration} => Types::AuthorizerConfiguration
7864
+ # * {Types::UpdateRegistryResponse#approval_configuration #approval_configuration} => Types::ApprovalConfiguration
7865
+ # * {Types::UpdateRegistryResponse#status #status} => String
7866
+ # * {Types::UpdateRegistryResponse#status_reason #status_reason} => String
7867
+ # * {Types::UpdateRegistryResponse#created_at #created_at} => Time
7868
+ # * {Types::UpdateRegistryResponse#updated_at #updated_at} => Time
7869
+ #
7870
+ # @example Request syntax with placeholder values
7871
+ #
7872
+ # resp = client.update_registry({
7873
+ # registry_id: "RegistryIdentifier", # required
7874
+ # name: "RegistryName",
7875
+ # description: {
7876
+ # optional_value: "Description",
7877
+ # },
7878
+ # authorizer_configuration: {
7879
+ # optional_value: {
7880
+ # custom_jwt_authorizer: {
7881
+ # discovery_url: "DiscoveryUrl", # required
7882
+ # allowed_audience: ["AllowedAudience"],
7883
+ # allowed_clients: ["AllowedClient"],
7884
+ # allowed_scopes: ["AllowedScopeType"],
7885
+ # custom_claims: [
7886
+ # {
7887
+ # inbound_token_claim_name: "InboundTokenClaimNameType", # required
7888
+ # inbound_token_claim_value_type: "STRING", # required, accepts STRING, STRING_ARRAY
7889
+ # authorizing_claim_match_value: { # required
7890
+ # claim_match_value: { # required
7891
+ # match_value_string: "MatchValueString",
7892
+ # match_value_string_list: ["MatchValueString"],
7893
+ # },
7894
+ # claim_match_operator: "EQUALS", # required, accepts EQUALS, CONTAINS, CONTAINS_ANY
7895
+ # },
7896
+ # },
7897
+ # ],
7898
+ # },
7899
+ # },
7900
+ # },
7901
+ # approval_configuration: {
7902
+ # optional_value: {
7903
+ # auto_approval: false,
7904
+ # },
7905
+ # },
7906
+ # })
7907
+ #
7908
+ # @example Response structure
7909
+ #
7910
+ # resp.name #=> String
7911
+ # resp.description #=> String
7912
+ # resp.registry_id #=> String
7913
+ # resp.registry_arn #=> String
7914
+ # resp.authorizer_type #=> String, one of "CUSTOM_JWT", "AWS_IAM"
7915
+ # resp.authorizer_configuration.custom_jwt_authorizer.discovery_url #=> String
7916
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_audience #=> Array
7917
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_audience[0] #=> String
7918
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_clients #=> Array
7919
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_clients[0] #=> String
7920
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_scopes #=> Array
7921
+ # resp.authorizer_configuration.custom_jwt_authorizer.allowed_scopes[0] #=> String
7922
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims #=> Array
7923
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].inbound_token_claim_name #=> String
7924
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].inbound_token_claim_value_type #=> String, one of "STRING", "STRING_ARRAY"
7925
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_value.match_value_string #=> String
7926
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_value.match_value_string_list #=> Array
7927
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_value.match_value_string_list[0] #=> String
7928
+ # resp.authorizer_configuration.custom_jwt_authorizer.custom_claims[0].authorizing_claim_match_value.claim_match_operator #=> String, one of "EQUALS", "CONTAINS", "CONTAINS_ANY"
7929
+ # resp.approval_configuration.auto_approval #=> Boolean
7930
+ # resp.status #=> String, one of "CREATING", "READY", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED", "DELETING", "DELETE_FAILED"
7931
+ # resp.status_reason #=> String
7932
+ # resp.created_at #=> Time
7933
+ # resp.updated_at #=> Time
7934
+ #
7935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/UpdateRegistry AWS API Documentation
7936
+ #
7937
+ # @overload update_registry(params = {})
7938
+ # @param [Hash] params ({})
7939
+ def update_registry(params = {}, options = {})
7940
+ req = build_request(:update_registry, params)
7941
+ req.send_request(options)
7942
+ end
7943
+
7944
+ # Updates an existing registry record. This operation uses PATCH
7945
+ # semantics, so you only need to specify the fields you want to change.
7946
+ # The update is processed asynchronously and returns HTTP 202 Accepted.
7947
+ #
7948
+ # @option params [required, String] :registry_id
7949
+ # The identifier of the registry containing the record. You can specify
7950
+ # either the Amazon Resource Name (ARN) or the ID of the registry.
7951
+ #
7952
+ # @option params [required, String] :record_id
7953
+ # The identifier of the registry record to update. You can specify
7954
+ # either the Amazon Resource Name (ARN) or the ID of the record.
7955
+ #
7956
+ # @option params [String] :name
7957
+ # The updated name for the registry record.
7958
+ #
7959
+ # @option params [Types::UpdatedDescription] :description
7960
+ # The updated description for the registry record. To clear the
7961
+ # description, include the `UpdatedDescription` wrapper with
7962
+ # `optionalValue` not specified.
7963
+ #
7964
+ # @option params [String] :descriptor_type
7965
+ # The updated descriptor type for the registry record. Changing the
7966
+ # descriptor type may require updating the `descriptors` field to match
7967
+ # the new type's schema requirements.
7968
+ #
7969
+ # @option params [Types::UpdatedDescriptors] :descriptors
7970
+ # The updated descriptor-type-specific configuration containing the
7971
+ # resource schema and metadata. Uses PATCH semantics where individual
7972
+ # descriptor fields can be updated independently.
7973
+ #
7974
+ # @option params [String] :record_version
7975
+ # The version of the registry record for optimistic locking. If
7976
+ # provided, it must match the current version of the record. The service
7977
+ # automatically increments the version after a successful update.
7978
+ #
7979
+ # @option params [Types::UpdatedSynchronizationType] :synchronization_type
7980
+ # The updated synchronization type for the registry record.
7981
+ #
7982
+ # @option params [Types::UpdatedSynchronizationConfiguration] :synchronization_configuration
7983
+ # The updated synchronization configuration for the registry record.
7984
+ #
7985
+ # @option params [Boolean] :trigger_synchronization
7986
+ # Whether to trigger synchronization using the stored or provided
7987
+ # configuration. When set to `true`, the service will synchronize the
7988
+ # record metadata from the configured external source.
7989
+ #
7990
+ # @return [Types::UpdateRegistryRecordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7991
+ #
7992
+ # * {Types::UpdateRegistryRecordResponse#registry_arn #registry_arn} => String
7993
+ # * {Types::UpdateRegistryRecordResponse#record_arn #record_arn} => String
7994
+ # * {Types::UpdateRegistryRecordResponse#record_id #record_id} => String
7995
+ # * {Types::UpdateRegistryRecordResponse#name #name} => String
7996
+ # * {Types::UpdateRegistryRecordResponse#description #description} => String
7997
+ # * {Types::UpdateRegistryRecordResponse#descriptor_type #descriptor_type} => String
7998
+ # * {Types::UpdateRegistryRecordResponse#descriptors #descriptors} => Types::Descriptors
7999
+ # * {Types::UpdateRegistryRecordResponse#record_version #record_version} => String
8000
+ # * {Types::UpdateRegistryRecordResponse#status #status} => String
8001
+ # * {Types::UpdateRegistryRecordResponse#created_at #created_at} => Time
8002
+ # * {Types::UpdateRegistryRecordResponse#updated_at #updated_at} => Time
8003
+ # * {Types::UpdateRegistryRecordResponse#status_reason #status_reason} => String
8004
+ # * {Types::UpdateRegistryRecordResponse#synchronization_type #synchronization_type} => String
8005
+ # * {Types::UpdateRegistryRecordResponse#synchronization_configuration #synchronization_configuration} => Types::SynchronizationConfiguration
8006
+ #
8007
+ # @example Request syntax with placeholder values
8008
+ #
8009
+ # resp = client.update_registry_record({
8010
+ # registry_id: "RegistryIdentifier", # required
8011
+ # record_id: "RecordIdentifier", # required
8012
+ # name: "RegistryRecordName",
8013
+ # description: {
8014
+ # optional_value: "Description",
8015
+ # },
8016
+ # descriptor_type: "MCP", # accepts MCP, A2A, CUSTOM, AGENT_SKILLS
8017
+ # descriptors: {
8018
+ # optional_value: {
8019
+ # mcp: {
8020
+ # optional_value: {
8021
+ # server: {
8022
+ # optional_value: {
8023
+ # schema_version: "SchemaVersion",
8024
+ # inline_content: "InlineContent",
8025
+ # },
8026
+ # },
8027
+ # tools: {
8028
+ # optional_value: {
8029
+ # protocol_version: "SchemaVersion",
8030
+ # inline_content: "InlineContent",
8031
+ # },
8032
+ # },
8033
+ # },
8034
+ # },
8035
+ # a2a: {
8036
+ # optional_value: {
8037
+ # agent_card: {
8038
+ # schema_version: "SchemaVersion",
8039
+ # inline_content: "InlineContent",
8040
+ # },
8041
+ # },
8042
+ # },
8043
+ # custom: {
8044
+ # optional_value: {
8045
+ # inline_content: "InlineContent",
8046
+ # },
8047
+ # },
8048
+ # agent_skills: {
8049
+ # optional_value: {
8050
+ # skill_md: {
8051
+ # optional_value: {
8052
+ # inline_content: "InlineContent",
8053
+ # },
8054
+ # },
8055
+ # skill_definition: {
8056
+ # optional_value: {
8057
+ # schema_version: "SchemaVersion",
8058
+ # inline_content: "InlineContent",
8059
+ # },
8060
+ # },
8061
+ # },
8062
+ # },
8063
+ # },
8064
+ # },
8065
+ # record_version: "RegistryRecordVersion",
8066
+ # synchronization_type: {
8067
+ # optional_value: "URL", # accepts URL
8068
+ # },
8069
+ # synchronization_configuration: {
8070
+ # optional_value: {
8071
+ # from_url: {
8072
+ # url: "McpServerUrl", # required
8073
+ # credential_provider_configurations: [
8074
+ # {
8075
+ # credential_provider_type: "OAUTH", # required, accepts OAUTH, IAM
8076
+ # credential_provider: { # required
8077
+ # oauth_credential_provider: {
8078
+ # provider_arn: "CredentialProviderArn", # required
8079
+ # grant_type: "CLIENT_CREDENTIALS", # accepts CLIENT_CREDENTIALS
8080
+ # scopes: ["String"],
8081
+ # custom_parameters: {
8082
+ # "String" => "String",
8083
+ # },
8084
+ # },
8085
+ # iam_credential_provider: {
8086
+ # role_arn: "IamRoleArn",
8087
+ # service: "IamSigningServiceName",
8088
+ # region: "IamSigningRegion",
8089
+ # },
8090
+ # },
8091
+ # },
8092
+ # ],
8093
+ # },
8094
+ # },
8095
+ # },
8096
+ # trigger_synchronization: false,
8097
+ # })
8098
+ #
8099
+ # @example Response structure
8100
+ #
8101
+ # resp.registry_arn #=> String
8102
+ # resp.record_arn #=> String
8103
+ # resp.record_id #=> String
8104
+ # resp.name #=> String
8105
+ # resp.description #=> String
8106
+ # resp.descriptor_type #=> String, one of "MCP", "A2A", "CUSTOM", "AGENT_SKILLS"
8107
+ # resp.descriptors.mcp.server.schema_version #=> String
8108
+ # resp.descriptors.mcp.server.inline_content #=> String
8109
+ # resp.descriptors.mcp.tools.protocol_version #=> String
8110
+ # resp.descriptors.mcp.tools.inline_content #=> String
8111
+ # resp.descriptors.a2a.agent_card.schema_version #=> String
8112
+ # resp.descriptors.a2a.agent_card.inline_content #=> String
8113
+ # resp.descriptors.custom.inline_content #=> String
8114
+ # resp.descriptors.agent_skills.skill_md.inline_content #=> String
8115
+ # resp.descriptors.agent_skills.skill_definition.schema_version #=> String
8116
+ # resp.descriptors.agent_skills.skill_definition.inline_content #=> String
8117
+ # resp.record_version #=> String
8118
+ # resp.status #=> String, one of "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "DEPRECATED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED"
8119
+ # resp.created_at #=> Time
8120
+ # resp.updated_at #=> Time
8121
+ # resp.status_reason #=> String
8122
+ # resp.synchronization_type #=> String, one of "URL"
8123
+ # resp.synchronization_configuration.from_url.url #=> String
8124
+ # resp.synchronization_configuration.from_url.credential_provider_configurations #=> Array
8125
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider_type #=> String, one of "OAUTH", "IAM"
8126
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.provider_arn #=> String
8127
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.grant_type #=> String, one of "CLIENT_CREDENTIALS"
8128
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.scopes #=> Array
8129
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.scopes[0] #=> String
8130
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.custom_parameters #=> Hash
8131
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.oauth_credential_provider.custom_parameters["String"] #=> String
8132
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.iam_credential_provider.role_arn #=> String
8133
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.iam_credential_provider.service #=> String
8134
+ # resp.synchronization_configuration.from_url.credential_provider_configurations[0].credential_provider.iam_credential_provider.region #=> String
8135
+ #
8136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/UpdateRegistryRecord AWS API Documentation
8137
+ #
8138
+ # @overload update_registry_record(params = {})
8139
+ # @param [Hash] params ({})
8140
+ def update_registry_record(params = {}, options = {})
8141
+ req = build_request(:update_registry_record, params)
8142
+ req.send_request(options)
8143
+ end
8144
+
8145
+ # Updates the status of a registry record. Use this operation to
8146
+ # approve, reject, or deprecate a registry record.
8147
+ #
8148
+ # @option params [required, String] :registry_id
8149
+ # The identifier of the registry containing the record. You can specify
8150
+ # either the Amazon Resource Name (ARN) or the ID of the registry.
8151
+ #
8152
+ # @option params [required, String] :record_id
8153
+ # The identifier of the registry record to update the status for. You
8154
+ # can specify either the Amazon Resource Name (ARN) or the ID of the
8155
+ # record.
8156
+ #
8157
+ # @option params [required, String] :status
8158
+ # The target status for the registry record.
8159
+ #
8160
+ # @option params [required, String] :status_reason
8161
+ # The reason for the status change, such as why the record was approved
8162
+ # or rejected.
8163
+ #
8164
+ # @return [Types::UpdateRegistryRecordStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8165
+ #
8166
+ # * {Types::UpdateRegistryRecordStatusResponse#registry_arn #registry_arn} => String
8167
+ # * {Types::UpdateRegistryRecordStatusResponse#record_arn #record_arn} => String
8168
+ # * {Types::UpdateRegistryRecordStatusResponse#record_id #record_id} => String
8169
+ # * {Types::UpdateRegistryRecordStatusResponse#status #status} => String
8170
+ # * {Types::UpdateRegistryRecordStatusResponse#status_reason #status_reason} => String
8171
+ # * {Types::UpdateRegistryRecordStatusResponse#updated_at #updated_at} => Time
8172
+ #
8173
+ # @example Request syntax with placeholder values
8174
+ #
8175
+ # resp = client.update_registry_record_status({
8176
+ # registry_id: "RegistryIdentifier", # required
8177
+ # record_id: "RecordIdentifier", # required
8178
+ # status: "DRAFT", # required, accepts DRAFT, PENDING_APPROVAL, APPROVED, REJECTED, DEPRECATED, CREATING, UPDATING, CREATE_FAILED, UPDATE_FAILED
8179
+ # status_reason: "UpdateRegistryRecordStatusRequestStatusReasonString", # required
8180
+ # })
8181
+ #
8182
+ # @example Response structure
8183
+ #
8184
+ # resp.registry_arn #=> String
8185
+ # resp.record_arn #=> String
8186
+ # resp.record_id #=> String
8187
+ # resp.status #=> String, one of "DRAFT", "PENDING_APPROVAL", "APPROVED", "REJECTED", "DEPRECATED", "CREATING", "UPDATING", "CREATE_FAILED", "UPDATE_FAILED"
8188
+ # resp.status_reason #=> String
8189
+ # resp.updated_at #=> Time
8190
+ #
8191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-agentcore-control-2023-06-05/UpdateRegistryRecordStatus AWS API Documentation
8192
+ #
8193
+ # @overload update_registry_record_status(params = {})
8194
+ # @param [Hash] params ({})
8195
+ def update_registry_record_status(params = {}, options = {})
8196
+ req = build_request(:update_registry_record_status, params)
8197
+ req.send_request(options)
8198
+ end
8199
+
7201
8200
  # Updates an existing workload identity.
7202
8201
  #
7203
8202
  # @option params [required, String] :name
@@ -7258,7 +8257,7 @@ module Aws::BedrockAgentCoreControl
7258
8257
  tracer: tracer
7259
8258
  )
7260
8259
  context[:gem_name] = 'aws-sdk-bedrockagentcorecontrol'
7261
- context[:gem_version] = '1.35.0'
8260
+ context[:gem_version] = '1.37.0'
7262
8261
  Seahorse::Client::Request.new(handlers, context)
7263
8262
  end
7264
8263