oci-cli 3.72.1__py3-none-any.whl → 3.73.1__py3-none-any.whl

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.
Files changed (134) hide show
  1. oci_cli/bin/dif.psm1 +3 -3
  2. oci_cli/bin/mysql.psm1 +6 -2
  3. oci_cli/bin/opensearch.psm1 +2 -2
  4. oci_cli/bin/queue.psm1 +23 -11
  5. oci_cli/help_text_producer/data_files/text/cmdref/certificates/ca-bundle/get.txt +1 -1
  6. oci_cli/help_text_producer/data_files/text/cmdref/certificates/certificate-authority-bundle/get.txt +5 -5
  7. oci_cli/help_text_producer/data_files/text/cmdref/certificates/certificate-authority-bundle-version/list.txt +1 -2
  8. oci_cli/help_text_producer/data_files/text/cmdref/certificates/certificate-bundle/get.txt +6 -5
  9. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/create-root-ca-by-generating-config-details.txt +12 -8
  10. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/create-root-ca-managed-externally.txt +206 -0
  11. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/create-subordinate-ca-issued-by-internal-ca.txt +12 -8
  12. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/create-subordinate-ca-managed-internally-issued-by-external-ca.txt +229 -0
  13. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/list.txt +1 -1
  14. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/update-root-ca-by-generating-config-details.txt +8 -2
  15. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/update-root-ca-managed-externally.txt +222 -0
  16. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/update-subordinate-ca-issued-by-internal-ca.txt +8 -2
  17. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority/update-subordinate-ca-managed-internally-issued-by-external-ca.txt +233 -0
  18. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt/certificate-authority.txt +8 -0
  19. oci_cli/help_text_producer/data_files/text/cmdref/certs-mgmt.txt +8 -0
  20. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host/apply-host-configuration.txt +0 -26
  21. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host/attach.txt +0 -26
  22. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host/check-host-configuration.txt +0 -26
  23. oci_cli/help_text_producer/data_files/text/cmdref/compute/dedicated-vm-host/create-dedicated-vm-host-compute-bare-metal-host-placement-constraint-details.txt +12 -0
  24. oci_cli/help_text_producer/data_files/text/cmdref/compute/dedicated-vm-host/create-dedicated-vm-host-host-group-placement-constraint-details.txt +12 -0
  25. oci_cli/help_text_producer/data_files/text/cmdref/compute/dedicated-vm-host/create.txt +12 -0
  26. oci_cli/help_text_producer/data_files/text/cmdref/compute/dedicated-vm-host/list.txt +5 -0
  27. oci_cli/help_text_producer/data_files/text/cmdref/compute/dedicated-vm-host-instance/list.txt +5 -0
  28. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-configuration/launch-compute-instance.txt +4 -0
  29. oci_cli/help_text_producer/data_files/text/cmdref/compute-management/instance-pool/create.txt +5 -4
  30. oci_cli/help_text_producer/data_files/text/cmdref/db/autonomous-database/restart.txt +4 -0
  31. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error/{list-errors.txt → list.txt} +5 -5
  32. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error.txt +1 -1
  33. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log/{list-logs.txt → list.txt} +5 -5
  34. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log.txt +1 -1
  35. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request.txt +2 -2
  36. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control.txt +2 -2
  37. oci_cli/help_text_producer/data_files/text/cmdref/dif/stack/add.txt +51 -2
  38. oci_cli/help_text_producer/data_files/text/cmdref/dif/stack/create.txt +50 -2
  39. oci_cli/help_text_producer/data_files/text/cmdref/dif/stack/deploy-artifacts.txt +36 -4
  40. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/agent-endpoint/create.txt +11 -0
  41. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/agent-endpoint/update.txt +11 -0
  42. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity/change-compartment.txt +136 -0
  43. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity/create.txt +170 -0
  44. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity/delete.txt +134 -0
  45. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity/get.txt +96 -0
  46. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity/list.txt +143 -0
  47. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity/update.txt +184 -0
  48. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/provisioned-capacity.txt +31 -0
  49. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/tool/create-tool-rag-tool-config.txt +37 -0
  50. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/tool/create-tool-sql-tool-config.txt +4 -0
  51. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/tool/update-tool-rag-tool-config.txt +37 -0
  52. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent/tool/update-tool-sql-tool-config.txt +4 -0
  53. oci_cli/help_text_producer/data_files/text/cmdref/generative-ai-agent.txt +14 -0
  54. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/{work-request-log-entry/list-work-request-logs.txt → work-request-log/list.txt} +5 -5
  55. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/{work-request-log-entry.txt → work-request-log.txt} +3 -3
  56. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request.txt +2 -2
  57. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane.txt +2 -2
  58. oci_cli/help_text_producer/data_files/text/cmdref/kafka/cluster/list-node-shapes.txt +129 -0
  59. oci_cli/help_text_producer/data_files/text/cmdref/kafka/cluster.txt +2 -0
  60. oci_cli/help_text_producer/data_files/text/cmdref/kafka.txt +2 -0
  61. oci_cli/help_text_producer/data_files/text/cmdref/mysql/backup/export.txt +154 -0
  62. oci_cli/help_text_producer/data_files/text/cmdref/mysql/backup.txt +2 -0
  63. oci_cli/help_text_producer/data_files/text/cmdref/mysql/work-request/cancel.txt +104 -0
  64. oci_cli/help_text_producer/data_files/text/cmdref/mysql/work-request.txt +2 -0
  65. oci_cli/help_text_producer/data_files/text/cmdref/mysql.txt +4 -0
  66. oci_cli/help_text_producer/data_files/text/cmdref/network/vcn/create.txt +1 -1
  67. oci_cli/help_text_producer/data_files/text/cmdref/network/vcn/update.txt +1 -1
  68. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance/management-appliance/create.txt +205 -0
  69. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance/management-appliance/delete.txt +146 -0
  70. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance/management-appliance/get.txt +108 -0
  71. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance/management-appliance/list.txt +160 -0
  72. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance/management-appliance/update.txt +217 -0
  73. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance/management-appliance.txt +22 -0
  74. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/management-appliance.txt +25 -0
  75. oci_cli/help_text_producer/data_files/text/cmdref/ocvs.txt +14 -0
  76. oci_cli/help_text_producer/data_files/text/cmdref/opensearch/cluster/create.txt +11 -0
  77. oci_cli/help_text_producer/data_files/text/cmdref/opensearch/cluster/update.txt +11 -0
  78. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error/{list-errors.txt → list.txt} +5 -5
  79. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error.txt +1 -1
  80. oci_cli/help_text_producer/data_files/text/cmdref/organizations.txt +1 -1
  81. oci_cli/help_text_producer/data_files/text/cmdref/queue/channels/list-channels.txt +4 -0
  82. oci_cli/help_text_producer/data_files/text/cmdref/queue/messages/delete-message.txt +4 -0
  83. oci_cli/help_text_producer/data_files/text/cmdref/queue/messages/delete-messages.txt +4 -0
  84. oci_cli/help_text_producer/data_files/text/cmdref/queue/messages/get-messages.txt +4 -0
  85. oci_cli/help_text_producer/data_files/text/cmdref/queue/messages/get-stats.txt +4 -0
  86. oci_cli/help_text_producer/data_files/text/cmdref/queue/messages/update-message.txt +4 -0
  87. oci_cli/help_text_producer/data_files/text/cmdref/queue/messages/update-messages.txt +4 -0
  88. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group/create.txt +169 -0
  89. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group/delete.txt +135 -0
  90. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group/get.txt +97 -0
  91. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group/update.txt +185 -0
  92. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group-collection/list-consumer-groups.txt +142 -0
  93. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group-collection.txt +15 -0
  94. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/consumer-group.txt +20 -0
  95. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/queue/create.txt +18 -2
  96. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/queue/purge.txt +19 -6
  97. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin/queue/update.txt +16 -0
  98. oci_cli/help_text_producer/data_files/text/cmdref/queue/queue-admin.txt +14 -0
  99. oci_cli/help_text_producer/data_files/text/cmdref/queue.txt +14 -0
  100. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/create.txt +6 -6
  101. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/get.txt +2 -2
  102. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/list.txt +1 -1
  103. oci_cli/help_text_producer/data_files/text/cmdref/support/incident/update.txt +4 -4
  104. oci_cli/help_text_producer/data_files/text/cmdref/support/incident-resource-type/list.txt +3 -3
  105. oci_cli/help_text_producer/data_files/text/cmdref/support/validation-response/validate-user.txt +1 -1
  106. oci_cli/version.py +1 -1
  107. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/METADATA +2 -2
  108. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/RECORD +134 -102
  109. services/certificates/src/oci_cli_certificates/generated/certificates_cli.py +6 -6
  110. services/certificates_management/src/oci_cli_certificates_management/certificatesmanagement_cli_extended.py +126 -0
  111. services/certificates_management/src/oci_cli_certificates_management/generated/certificatesmanagement_cli.py +447 -25
  112. services/core/src/oci_cli_compute/generated/compute_cli.py +126 -174
  113. services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py +13 -4
  114. services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py +2 -2
  115. services/database/src/oci_cli_database/generated/database_cli.py +4 -1
  116. services/dif/src/oci_cli_stack/generated/stack_cli.py +65 -17
  117. services/dif/src/oci_cli_stack/stack_cli_extended.py +9 -9
  118. services/generative_ai_agent/src/oci_cli_generative_ai_agent/generated/generativeaiagent_cli.py +435 -16
  119. services/managed_kafka/src/oci_cli_kafka_cluster/generated/kafkacluster_cli.py +56 -0
  120. services/mysql/src/oci_cli_db_backups/generated/dbbackups_cli.py +70 -0
  121. services/mysql/src/oci_cli_work_requests/generated/workrequests_cli.py +26 -0
  122. services/ocvp/src/oci_cli_management_appliance/__init__.py +4 -0
  123. services/ocvp/src/oci_cli_management_appliance/generated/__init__.py +4 -0
  124. services/ocvp/src/oci_cli_management_appliance/generated/client_mappings.py +14 -0
  125. services/ocvp/src/oci_cli_management_appliance/generated/managementappliance_cli.py +341 -0
  126. services/opensearch/src/oci_cli_opensearch_cluster/generated/opensearchcluster_cli.py +16 -8
  127. services/queue/src/oci_cli_queue/generated/queue_cli.py +28 -7
  128. services/queue/src/oci_cli_queue_admin/generated/queueadmin_cli.py +343 -10
  129. services/queue/src/oci_cli_queue_admin/queueadmin_cli_extended.py +54 -7
  130. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/LICENSE.txt +0 -0
  131. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  132. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/WHEEL +0 -0
  133. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/entry_points.txt +0 -0
  134. {oci_cli-3.72.1.dist-info → oci_cli-3.73.1.dist-info}/top_level.txt +0 -0
@@ -54,6 +54,14 @@ def agent_group():
54
54
  pass
55
55
 
56
56
 
57
+ @click.command(cli_util.override('generative_ai_agent.provisioned_capacity_group.command_name', 'provisioned-capacity'), cls=CommandGroupWithAlias, help="""A provisioned capacity is a resource pool of Genrative AI DACs with properties like AgentRuntimeVersion, unit size, and a tool name to DAC ID mapping.
58
+
59
+ To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, see [Getting Started with Policies].""")
60
+ @cli_util.help_option_group
61
+ def provisioned_capacity_group():
62
+ pass
63
+
64
+
57
65
  @click.command(cli_util.override('generative_ai_agent.work_request_error_group.command_name', 'work-request-error'), cls=CommandGroupWithAlias, help="""An error encountered while performing an operation that is tracked by a work request.""")
58
66
  @cli_util.help_option_group
59
67
  def work_request_error_group():
@@ -99,6 +107,7 @@ def tool_group():
99
107
  generative_ai_agent_root_group.add_command(agent_endpoint_group)
100
108
  generative_ai_agent_root_group.add_command(data_ingestion_job_group)
101
109
  generative_ai_agent_root_group.add_command(agent_group)
110
+ generative_ai_agent_root_group.add_command(provisioned_capacity_group)
102
111
  generative_ai_agent_root_group.add_command(work_request_error_group)
103
112
  generative_ai_agent_root_group.add_command(knowledge_base_group)
104
113
  generative_ai_agent_root_group.add_command(work_request_log_entry_group)
@@ -316,6 +325,67 @@ def change_knowledge_base_compartment(ctx, from_json, wait_for_state, max_wait_s
316
325
  cli_util.render_response(result, ctx)
317
326
 
318
327
 
328
+ @provisioned_capacity_group.command(name=cli_util.override('generative_ai_agent.change_provisioned_capacity_compartment.command_name', 'change-compartment'), help=u"""Moves a provisioned capacity into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeProvisionedCapacityCompartment)""")
329
+ @cli_util.option('--provisioned-capacity-id', required=True, help=u"""The [OCID] of the provisioned capacity.""")
330
+ @cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the ProvisionedCapacity to.""")
331
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
332
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
333
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
334
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
335
+ @json_skeleton_utils.get_cli_json_input_option({})
336
+ @cli_util.help_option
337
+ @click.pass_context
338
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
339
+ @cli_util.wrap_exceptions
340
+ def change_provisioned_capacity_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, provisioned_capacity_id, compartment_id, if_match):
341
+
342
+ if isinstance(provisioned_capacity_id, six.string_types) and len(provisioned_capacity_id.strip()) == 0:
343
+ raise click.UsageError('Parameter --provisioned-capacity-id cannot be whitespace or empty string')
344
+
345
+ kwargs = {}
346
+ if if_match is not None:
347
+ kwargs['if_match'] = if_match
348
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
349
+
350
+ _details = {}
351
+ _details['compartmentId'] = compartment_id
352
+
353
+ client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
354
+ result = client.change_provisioned_capacity_compartment(
355
+ provisioned_capacity_id=provisioned_capacity_id,
356
+ change_provisioned_capacity_compartment_details=_details,
357
+ **kwargs
358
+ )
359
+ if wait_for_state:
360
+
361
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
362
+ try:
363
+ wait_period_kwargs = {}
364
+ if max_wait_seconds is not None:
365
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
366
+ if wait_interval_seconds is not None:
367
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
368
+ if 'opc-work-request-id' not in result.headers:
369
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
370
+ cli_util.render_response(result, ctx)
371
+ return
372
+
373
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
374
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
375
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
376
+ # If we fail, we should show an error, but we should still provide the information to the customer
377
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
378
+ cli_util.render_response(result, ctx)
379
+ sys.exit(2)
380
+ except Exception:
381
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
382
+ cli_util.render_response(result, ctx)
383
+ raise
384
+ else:
385
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
386
+ cli_util.render_response(result, ctx)
387
+
388
+
319
389
  @agent_group.command(name=cli_util.override('generative_ai_agent.create_agent.command_name', 'create'), help=u"""Creates an agent. \n[Command Reference](createAgent)""")
320
390
  @cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the agent in.""")
321
391
  @cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@@ -416,6 +486,7 @@ def create_agent(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
416
486
  @cli_util.option('--should-enable-session', type=click.BOOL, help=u"""Whether or not to enable Session-based chat.""")
417
487
  @cli_util.option('--should-enable-multi-language', type=click.BOOL, help=u"""Whether to enable multi-language for chat.""")
418
488
  @cli_util.option('--session-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
489
+ @cli_util.option('--provisioned-capacity-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
419
490
  @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags].
420
491
 
421
492
  Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -425,12 +496,12 @@ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_comp
425
496
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
426
497
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
427
498
  @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
428
- @json_skeleton_utils.get_cli_json_input_option({'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
499
+ @json_skeleton_utils.get_cli_json_input_option({'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'provisioned-capacity-config': {'module': 'generative_ai_agent', 'class': 'ProvisionedCapacityConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
429
500
  @cli_util.help_option
430
501
  @click.pass_context
431
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'generative_ai_agent', 'class': 'AgentEndpoint'})
502
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'provisioned-capacity-config': {'module': 'generative_ai_agent', 'class': 'ProvisionedCapacityConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'generative_ai_agent', 'class': 'AgentEndpoint'})
432
503
  @cli_util.wrap_exceptions
433
- def create_agent_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, agent_id, compartment_id, display_name, description, content_moderation_config, guardrail_config, metadata, human_input_config, output_config, should_enable_trace, should_enable_citation, should_enable_session, should_enable_multi_language, session_config, freeform_tags, defined_tags):
504
+ def create_agent_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, agent_id, compartment_id, display_name, description, content_moderation_config, guardrail_config, metadata, human_input_config, output_config, should_enable_trace, should_enable_citation, should_enable_session, should_enable_multi_language, session_config, provisioned_capacity_config, freeform_tags, defined_tags):
434
505
 
435
506
  kwargs = {}
436
507
  kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -475,6 +546,9 @@ def create_agent_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wait
475
546
  if session_config is not None:
476
547
  _details['sessionConfig'] = cli_util.parse_json_parameter("session_config", session_config)
477
548
 
549
+ if provisioned_capacity_config is not None:
550
+ _details['provisionedCapacityConfig'] = cli_util.parse_json_parameter("provisioned_capacity_config", provisioned_capacity_config)
551
+
478
552
  if freeform_tags is not None:
479
553
  _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
480
554
 
@@ -1081,6 +1155,79 @@ def create_knowledge_base_oci_open_search_index_config(ctx, from_json, wait_for_
1081
1155
  cli_util.render_response(result, ctx)
1082
1156
 
1083
1157
 
1158
+ @provisioned_capacity_group.command(name=cli_util.override('generative_ai_agent.create_provisioned_capacity.command_name', 'create'), help=u"""Creates a provisioned capacity. \n[Command Reference](createProvisionedCapacity)""")
1159
+ @cli_util.option('--display-name', required=True, help=u"""The name of the provisioned capacity.""")
1160
+ @cli_util.option('--number-of-units', required=True, type=click.INT, help=u"""Provisioned Capacity Unit corresponds to the amount of characters processed per minute.""")
1161
+ @cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the endpoint in.""")
1162
+ @cli_util.option('--description', help=u"""An optional description of the provisioned capacity.""")
1163
+ @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags].
1164
+
1165
+ Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1166
+ @cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
1167
+
1168
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1169
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
1170
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
1171
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
1172
+ @json_skeleton_utils.get_cli_json_input_option({'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
1173
+ @cli_util.help_option
1174
+ @click.pass_context
1175
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'generative_ai_agent', 'class': 'ProvisionedCapacity'})
1176
+ @cli_util.wrap_exceptions
1177
+ def create_provisioned_capacity(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, display_name, number_of_units, compartment_id, description, freeform_tags, defined_tags):
1178
+
1179
+ kwargs = {}
1180
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
1181
+
1182
+ _details = {}
1183
+ _details['displayName'] = display_name
1184
+ _details['numberOfUnits'] = number_of_units
1185
+ _details['compartmentId'] = compartment_id
1186
+
1187
+ if description is not None:
1188
+ _details['description'] = description
1189
+
1190
+ if freeform_tags is not None:
1191
+ _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
1192
+
1193
+ if defined_tags is not None:
1194
+ _details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
1195
+
1196
+ client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
1197
+ result = client.create_provisioned_capacity(
1198
+ create_provisioned_capacity_details=_details,
1199
+ **kwargs
1200
+ )
1201
+ if wait_for_state:
1202
+
1203
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
1204
+ try:
1205
+ wait_period_kwargs = {}
1206
+ if max_wait_seconds is not None:
1207
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
1208
+ if wait_interval_seconds is not None:
1209
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
1210
+ if 'opc-work-request-id' not in result.headers:
1211
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
1212
+ cli_util.render_response(result, ctx)
1213
+ return
1214
+
1215
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
1216
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
1217
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
1218
+ # If we fail, we should show an error, but we should still provide the information to the customer
1219
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
1220
+ cli_util.render_response(result, ctx)
1221
+ sys.exit(2)
1222
+ except Exception:
1223
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
1224
+ cli_util.render_response(result, ctx)
1225
+ raise
1226
+ else:
1227
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
1228
+ cli_util.render_response(result, ctx)
1229
+
1230
+
1084
1231
  @tool_group.command(name=cli_util.override('generative_ai_agent.create_tool.command_name', 'create'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
1085
1232
  @cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
1086
1233
  @cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
@@ -1181,6 +1328,7 @@ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_comp
1181
1328
  @cli_util.option('--tool-config-table-and-column-description', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1182
1329
  @cli_util.option('--tool-config-generation-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1183
1330
  @cli_util.option('--tool-config-database-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1331
+ @cli_util.option('--tool-config-runtime-version', help=u"""The runtimeVersion of the system prompt.""")
1184
1332
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
1185
1333
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
1186
1334
  @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -1189,7 +1337,7 @@ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_comp
1189
1337
  @click.pass_context
1190
1338
  @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-icl-examples': {'module': 'generative_ai_agent', 'class': 'InputLocation'}, 'tool-config-database-schema': {'module': 'generative_ai_agent', 'class': 'InputLocation'}, 'tool-config-table-and-column-description': {'module': 'generative_ai_agent', 'class': 'InputLocation'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-database-connection': {'module': 'generative_ai_agent', 'class': 'DatabaseConnection'}}, output_type={'module': 'generative_ai_agent', 'class': 'Tool'})
1191
1339
  @cli_util.wrap_exceptions
1192
- def create_tool_sql_tool_config(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, description, agent_id, compartment_id, tool_config_dialect, display_name, metadata, freeform_tags, defined_tags, tool_config_icl_examples, tool_config_database_schema, tool_config_should_enable_sql_execution, tool_config_model_size, tool_config_should_enable_self_correction, tool_config_table_and_column_description, tool_config_generation_llm_customization, tool_config_database_connection):
1340
+ def create_tool_sql_tool_config(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, description, agent_id, compartment_id, tool_config_dialect, display_name, metadata, freeform_tags, defined_tags, tool_config_icl_examples, tool_config_database_schema, tool_config_should_enable_sql_execution, tool_config_model_size, tool_config_should_enable_self_correction, tool_config_table_and_column_description, tool_config_generation_llm_customization, tool_config_database_connection, tool_config_runtime_version):
1193
1341
 
1194
1342
  kwargs = {}
1195
1343
  kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -1237,6 +1385,9 @@ def create_tool_sql_tool_config(ctx, from_json, wait_for_state, max_wait_seconds
1237
1385
  if tool_config_database_connection is not None:
1238
1386
  _details['toolConfig']['databaseConnection'] = cli_util.parse_json_parameter("tool_config_database_connection", tool_config_database_connection)
1239
1387
 
1388
+ if tool_config_runtime_version is not None:
1389
+ _details['toolConfig']['runtimeVersion'] = tool_config_runtime_version
1390
+
1240
1391
  _details['toolConfig']['toolConfigType'] = 'SQL_TOOL_CONFIG'
1241
1392
 
1242
1393
  client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
@@ -1538,15 +1689,19 @@ Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMP
1538
1689
 
1539
1690
  Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1540
1691
  @cli_util.option('--tool-config-generation-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1692
+ @cli_util.option('--tool-config-runtime-version', help=u"""The runtimeVersion of the system prompt.""")
1693
+ @cli_util.option('--tool-config-embedding-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1694
+ @cli_util.option('--tool-config-reranking-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1695
+ @cli_util.option('--tool-config-reasoning-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
1541
1696
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
1542
1697
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
1543
1698
  @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
1544
- @json_skeleton_utils.get_cli_json_input_option({'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}})
1699
+ @json_skeleton_utils.get_cli_json_input_option({'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-embedding-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reranking-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reasoning-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}})
1545
1700
  @cli_util.help_option
1546
1701
  @click.pass_context
1547
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}}, output_type={'module': 'generative_ai_agent', 'class': 'Tool'})
1702
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-embedding-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reranking-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reasoning-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}}, output_type={'module': 'generative_ai_agent', 'class': 'Tool'})
1548
1703
  @cli_util.wrap_exceptions
1549
- def create_tool_rag_tool_config(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, description, agent_id, compartment_id, tool_config_knowledge_base_configs, display_name, metadata, freeform_tags, defined_tags, tool_config_generation_llm_customization):
1704
+ def create_tool_rag_tool_config(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, description, agent_id, compartment_id, tool_config_knowledge_base_configs, display_name, metadata, freeform_tags, defined_tags, tool_config_generation_llm_customization, tool_config_runtime_version, tool_config_embedding_llm_customization, tool_config_reranking_llm_customization, tool_config_reasoning_llm_customization):
1550
1705
 
1551
1706
  kwargs = {}
1552
1707
  kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -1573,6 +1728,18 @@ def create_tool_rag_tool_config(ctx, from_json, wait_for_state, max_wait_seconds
1573
1728
  if tool_config_generation_llm_customization is not None:
1574
1729
  _details['toolConfig']['generationLlmCustomization'] = cli_util.parse_json_parameter("tool_config_generation_llm_customization", tool_config_generation_llm_customization)
1575
1730
 
1731
+ if tool_config_runtime_version is not None:
1732
+ _details['toolConfig']['runtimeVersion'] = tool_config_runtime_version
1733
+
1734
+ if tool_config_embedding_llm_customization is not None:
1735
+ _details['toolConfig']['embeddingLlmCustomization'] = cli_util.parse_json_parameter("tool_config_embedding_llm_customization", tool_config_embedding_llm_customization)
1736
+
1737
+ if tool_config_reranking_llm_customization is not None:
1738
+ _details['toolConfig']['rerankingLlmCustomization'] = cli_util.parse_json_parameter("tool_config_reranking_llm_customization", tool_config_reranking_llm_customization)
1739
+
1740
+ if tool_config_reasoning_llm_customization is not None:
1741
+ _details['toolConfig']['reasoningLlmCustomization'] = cli_util.parse_json_parameter("tool_config_reasoning_llm_customization", tool_config_reasoning_llm_customization)
1742
+
1576
1743
  _details['toolConfig']['toolConfigType'] = 'RAG_TOOL_CONFIG'
1577
1744
 
1578
1745
  client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
@@ -1890,6 +2057,62 @@ def delete_knowledge_base(ctx, from_json, wait_for_state, max_wait_seconds, wait
1890
2057
  cli_util.render_response(result, ctx)
1891
2058
 
1892
2059
 
2060
+ @provisioned_capacity_group.command(name=cli_util.override('generative_ai_agent.delete_provisioned_capacity.command_name', 'delete'), help=u"""Deletes a provisioned capacity. \n[Command Reference](deleteProvisionedCapacity)""")
2061
+ @cli_util.option('--provisioned-capacity-id', required=True, help=u"""The [OCID] of the provisioned capacity.""")
2062
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
2063
+ @cli_util.confirm_delete_option
2064
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
2065
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
2066
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
2067
+ @json_skeleton_utils.get_cli_json_input_option({})
2068
+ @cli_util.help_option
2069
+ @click.pass_context
2070
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
2071
+ @cli_util.wrap_exceptions
2072
+ def delete_provisioned_capacity(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, provisioned_capacity_id, if_match):
2073
+
2074
+ if isinstance(provisioned_capacity_id, six.string_types) and len(provisioned_capacity_id.strip()) == 0:
2075
+ raise click.UsageError('Parameter --provisioned-capacity-id cannot be whitespace or empty string')
2076
+
2077
+ kwargs = {}
2078
+ if if_match is not None:
2079
+ kwargs['if_match'] = if_match
2080
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
2081
+ client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
2082
+ result = client.delete_provisioned_capacity(
2083
+ provisioned_capacity_id=provisioned_capacity_id,
2084
+ **kwargs
2085
+ )
2086
+ if wait_for_state:
2087
+
2088
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
2089
+ try:
2090
+ wait_period_kwargs = {}
2091
+ if max_wait_seconds is not None:
2092
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
2093
+ if wait_interval_seconds is not None:
2094
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
2095
+ if 'opc-work-request-id' not in result.headers:
2096
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
2097
+ cli_util.render_response(result, ctx)
2098
+ return
2099
+
2100
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
2101
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
2102
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
2103
+ # If we fail, we should show an error, but we should still provide the information to the customer
2104
+ click.echo('Failed to wait until the work request entered the specified state. Please retrieve the work request to find its current state', file=sys.stderr)
2105
+ cli_util.render_response(result, ctx)
2106
+ sys.exit(2)
2107
+ except Exception:
2108
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
2109
+ cli_util.render_response(result, ctx)
2110
+ raise
2111
+ else:
2112
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
2113
+ cli_util.render_response(result, ctx)
2114
+
2115
+
1893
2116
  @tool_group.command(name=cli_util.override('generative_ai_agent.delete_tool.command_name', 'delete'), help=u"""Deletes a tool. \n[Command Reference](deleteTool)""")
1894
2117
  @cli_util.option('--tool-id', required=True, help=u"""The [OCID] of the Tool.""")
1895
2118
  @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -2101,6 +2324,28 @@ def get_knowledge_base(ctx, from_json, knowledge_base_id):
2101
2324
  cli_util.render_response(result, ctx)
2102
2325
 
2103
2326
 
2327
+ @provisioned_capacity_group.command(name=cli_util.override('generative_ai_agent.get_provisioned_capacity.command_name', 'get'), help=u"""Gets information about a provisioned capacity. \n[Command Reference](getProvisionedCapacity)""")
2328
+ @cli_util.option('--provisioned-capacity-id', required=True, help=u"""The [OCID] of the provisioned capacity.""")
2329
+ @json_skeleton_utils.get_cli_json_input_option({})
2330
+ @cli_util.help_option
2331
+ @click.pass_context
2332
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'generative_ai_agent', 'class': 'ProvisionedCapacity'})
2333
+ @cli_util.wrap_exceptions
2334
+ def get_provisioned_capacity(ctx, from_json, provisioned_capacity_id):
2335
+
2336
+ if isinstance(provisioned_capacity_id, six.string_types) and len(provisioned_capacity_id.strip()) == 0:
2337
+ raise click.UsageError('Parameter --provisioned-capacity-id cannot be whitespace or empty string')
2338
+
2339
+ kwargs = {}
2340
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
2341
+ client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
2342
+ result = client.get_provisioned_capacity(
2343
+ provisioned_capacity_id=provisioned_capacity_id,
2344
+ **kwargs
2345
+ )
2346
+ cli_util.render_response(result, ctx)
2347
+
2348
+
2104
2349
  @tool_group.command(name=cli_util.override('generative_ai_agent.get_tool.command_name', 'get'), help=u"""Gets information about a tool. \n[Command Reference](getTool)""")
2105
2350
  @cli_util.option('--tool-id', required=True, help=u"""The [OCID] of the Tool.""")
2106
2351
  @json_skeleton_utils.get_cli_json_input_option({})
@@ -2449,6 +2694,68 @@ def list_knowledge_bases(ctx, from_json, all_pages, page_size, compartment_id, l
2449
2694
  cli_util.render_response(result, ctx)
2450
2695
 
2451
2696
 
2697
+ @provisioned_capacity_group.command(name=cli_util.override('generative_ai_agent.list_provisioned_capacities.command_name', 'list'), help=u"""Gets a list of provisioned capacities. \n[Command Reference](listProvisionedCapacities)""")
2698
+ @cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
2699
+ @cli_util.option('--provisioned-capacity-id', help=u"""The [OCID] of the provisioned capacity.""")
2700
+ @cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
2701
+ @cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
2702
+ @cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of results per page, or items to return in a paginated \"List\" call. For important details about how pagination works, see [List Pagination].""")
2703
+ @cli_util.option('--page', help=u"""For list pagination. The value of the opc-next-page response header from the previous \"List\" call. For important details about how pagination works, see [List Pagination].""")
2704
+ @cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
2705
+ @cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. You can provide only one sort order. Default order for `timeCreated` is descending. Default order for `displayName` is ascending.""")
2706
+ @cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results. If you provide this option, then you cannot provide the --limit option.""")
2707
+ @cli_util.option('--page-size', type=click.INT, help="""When fetching results, the number of results to fetch per call. Only valid when used with --all or --limit, and ignored otherwise.""")
2708
+ @json_skeleton_utils.get_cli_json_input_option({})
2709
+ @cli_util.help_option
2710
+ @click.pass_context
2711
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'generative_ai_agent', 'class': 'ProvisionedCapacityCollection'})
2712
+ @cli_util.wrap_exceptions
2713
+ def list_provisioned_capacities(ctx, from_json, all_pages, page_size, compartment_id, provisioned_capacity_id, lifecycle_state, display_name, limit, page, sort_order, sort_by):
2714
+
2715
+ if all_pages and limit:
2716
+ raise click.UsageError('If you provide the --all option you cannot provide the --limit option')
2717
+
2718
+ kwargs = {}
2719
+ if compartment_id is not None:
2720
+ kwargs['compartment_id'] = compartment_id
2721
+ if provisioned_capacity_id is not None:
2722
+ kwargs['provisioned_capacity_id'] = provisioned_capacity_id
2723
+ if lifecycle_state is not None:
2724
+ kwargs['lifecycle_state'] = lifecycle_state
2725
+ if display_name is not None:
2726
+ kwargs['display_name'] = display_name
2727
+ if limit is not None:
2728
+ kwargs['limit'] = limit
2729
+ if page is not None:
2730
+ kwargs['page'] = page
2731
+ if sort_order is not None:
2732
+ kwargs['sort_order'] = sort_order
2733
+ if sort_by is not None:
2734
+ kwargs['sort_by'] = sort_by
2735
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
2736
+ client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
2737
+ if all_pages:
2738
+ if page_size:
2739
+ kwargs['limit'] = page_size
2740
+
2741
+ result = cli_util.list_call_get_all_results(
2742
+ client.list_provisioned_capacities,
2743
+ **kwargs
2744
+ )
2745
+ elif limit is not None:
2746
+ result = cli_util.list_call_get_up_to_limit(
2747
+ client.list_provisioned_capacities,
2748
+ limit,
2749
+ page_size,
2750
+ **kwargs
2751
+ )
2752
+ else:
2753
+ result = client.list_provisioned_capacities(
2754
+ **kwargs
2755
+ )
2756
+ cli_util.render_response(result, ctx)
2757
+
2758
+
2452
2759
  @tool_group.command(name=cli_util.override('generative_ai_agent.list_tools.command_name', 'list'), help=u"""Gets a list of tools. \n[Command Reference](listTools)""")
2453
2760
  @cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
2454
2761
  @cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -2796,6 +3103,7 @@ def update_agent(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_i
2796
3103
  @cli_util.option('--should-enable-citation', type=click.BOOL, help=u"""Whether to show citations in the chat result.""")
2797
3104
  @cli_util.option('--should-enable-multi-language', type=click.BOOL, help=u"""Whether to enable multi-language for chat.""")
2798
3105
  @cli_util.option('--session-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3106
+ @cli_util.option('--provisioned-capacity-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
2799
3107
  @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags].
2800
3108
 
2801
3109
  Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2807,18 +3115,18 @@ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_comp
2807
3115
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
2808
3116
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
2809
3117
  @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
2810
- @json_skeleton_utils.get_cli_json_input_option({'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
3118
+ @json_skeleton_utils.get_cli_json_input_option({'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'provisioned-capacity-config': {'module': 'generative_ai_agent', 'class': 'ProvisionedCapacityConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
2811
3119
  @cli_util.help_option
2812
3120
  @click.pass_context
2813
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
3121
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'content-moderation-config': {'module': 'generative_ai_agent', 'class': 'ContentModerationConfig'}, 'guardrail-config': {'module': 'generative_ai_agent', 'class': 'GuardrailConfig'}, 'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'human-input-config': {'module': 'generative_ai_agent', 'class': 'HumanInputConfig'}, 'output-config': {'module': 'generative_ai_agent', 'class': 'OutputConfig'}, 'session-config': {'module': 'generative_ai_agent', 'class': 'SessionConfig'}, 'provisioned-capacity-config': {'module': 'generative_ai_agent', 'class': 'ProvisionedCapacityConfig'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
2814
3122
  @cli_util.wrap_exceptions
2815
- def update_agent_endpoint(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, agent_endpoint_id, display_name, description, content_moderation_config, guardrail_config, metadata, human_input_config, output_config, should_enable_trace, should_enable_citation, should_enable_multi_language, session_config, freeform_tags, defined_tags, if_match):
3123
+ def update_agent_endpoint(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, agent_endpoint_id, display_name, description, content_moderation_config, guardrail_config, metadata, human_input_config, output_config, should_enable_trace, should_enable_citation, should_enable_multi_language, session_config, provisioned_capacity_config, freeform_tags, defined_tags, if_match):
2816
3124
 
2817
3125
  if isinstance(agent_endpoint_id, six.string_types) and len(agent_endpoint_id.strip()) == 0:
2818
3126
  raise click.UsageError('Parameter --agent-endpoint-id cannot be whitespace or empty string')
2819
3127
  if not force:
2820
- if content_moderation_config or guardrail_config or metadata or human_input_config or output_config or session_config or freeform_tags or defined_tags:
2821
- if not click.confirm("WARNING: Updates to content-moderation-config and guardrail-config and metadata and human-input-config and output-config and session-config and freeform-tags and defined-tags will replace any existing values. Are you sure you want to continue?"):
3128
+ if content_moderation_config or guardrail_config or metadata or human_input_config or output_config or session_config or provisioned_capacity_config or freeform_tags or defined_tags:
3129
+ if not click.confirm("WARNING: Updates to content-moderation-config and guardrail-config and metadata and human-input-config and output-config and session-config and provisioned-capacity-config and freeform-tags and defined-tags will replace any existing values. Are you sure you want to continue?"):
2822
3130
  ctx.abort()
2823
3131
 
2824
3132
  kwargs = {}
@@ -2861,6 +3169,9 @@ def update_agent_endpoint(ctx, from_json, force, wait_for_state, max_wait_second
2861
3169
  if session_config is not None:
2862
3170
  _details['sessionConfig'] = cli_util.parse_json_parameter("session_config", session_config)
2863
3171
 
3172
+ if provisioned_capacity_config is not None:
3173
+ _details['provisionedCapacityConfig'] = cli_util.parse_json_parameter("provisioned_capacity_config", provisioned_capacity_config)
3174
+
2864
3175
  if freeform_tags is not None:
2865
3176
  _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
2866
3177
 
@@ -3459,6 +3770,94 @@ def update_knowledge_base_oci_open_search_index_config(ctx, from_json, force, wa
3459
3770
  cli_util.render_response(result, ctx)
3460
3771
 
3461
3772
 
3773
+ @provisioned_capacity_group.command(name=cli_util.override('generative_ai_agent.update_provisioned_capacity.command_name', 'update'), help=u"""Updates a provisioned capacity. \n[Command Reference](updateProvisionedCapacity)""")
3774
+ @cli_util.option('--provisioned-capacity-id', required=True, help=u"""The [OCID] of the provisioned capacity.""")
3775
+ @cli_util.option('--display-name', help=u"""The name of the provisioned capacity.""")
3776
+ @cli_util.option('--description', help=u"""An optional description of the provisioned capacity.""")
3777
+ @cli_util.option('--number-of-units', type=click.INT, help=u"""Provisioned Capacity Unit corresponds to the amount of characters processed per minute.""")
3778
+ @cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags].
3779
+
3780
+ Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3781
+ @cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
3782
+
3783
+ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3784
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
3785
+ @cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
3786
+ @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
3787
+ @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
3788
+ @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
3789
+ @json_skeleton_utils.get_cli_json_input_option({'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
3790
+ @cli_util.help_option
3791
+ @click.pass_context
3792
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}})
3793
+ @cli_util.wrap_exceptions
3794
+ def update_provisioned_capacity(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, provisioned_capacity_id, display_name, description, number_of_units, freeform_tags, defined_tags, if_match):
3795
+
3796
+ if isinstance(provisioned_capacity_id, six.string_types) and len(provisioned_capacity_id.strip()) == 0:
3797
+ raise click.UsageError('Parameter --provisioned-capacity-id cannot be whitespace or empty string')
3798
+ if not force:
3799
+ if freeform_tags or defined_tags:
3800
+ if not click.confirm("WARNING: Updates to freeform-tags and defined-tags will replace any existing values. Are you sure you want to continue?"):
3801
+ ctx.abort()
3802
+
3803
+ kwargs = {}
3804
+ if if_match is not None:
3805
+ kwargs['if_match'] = if_match
3806
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
3807
+
3808
+ _details = {}
3809
+
3810
+ if display_name is not None:
3811
+ _details['displayName'] = display_name
3812
+
3813
+ if description is not None:
3814
+ _details['description'] = description
3815
+
3816
+ if number_of_units is not None:
3817
+ _details['numberOfUnits'] = number_of_units
3818
+
3819
+ if freeform_tags is not None:
3820
+ _details['freeformTags'] = cli_util.parse_json_parameter("freeform_tags", freeform_tags)
3821
+
3822
+ if defined_tags is not None:
3823
+ _details['definedTags'] = cli_util.parse_json_parameter("defined_tags", defined_tags)
3824
+
3825
+ client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
3826
+ result = client.update_provisioned_capacity(
3827
+ provisioned_capacity_id=provisioned_capacity_id,
3828
+ update_provisioned_capacity_details=_details,
3829
+ **kwargs
3830
+ )
3831
+ if wait_for_state:
3832
+
3833
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
3834
+ try:
3835
+ wait_period_kwargs = {}
3836
+ if max_wait_seconds is not None:
3837
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
3838
+ if wait_interval_seconds is not None:
3839
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
3840
+ if 'opc-work-request-id' not in result.headers:
3841
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
3842
+ cli_util.render_response(result, ctx)
3843
+ return
3844
+
3845
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
3846
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
3847
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
3848
+ # If we fail, we should show an error, but we should still provide the information to the customer
3849
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
3850
+ cli_util.render_response(result, ctx)
3851
+ sys.exit(2)
3852
+ except Exception:
3853
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
3854
+ cli_util.render_response(result, ctx)
3855
+ raise
3856
+ else:
3857
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
3858
+ cli_util.render_response(result, ctx)
3859
+
3860
+
3462
3861
  @tool_group.command(name=cli_util.override('generative_ai_agent.update_tool.command_name', 'update'), help=u"""Updates a tool. \n[Command Reference](updateTool)""")
3463
3862
  @cli_util.option('--tool-id', required=True, help=u"""The [OCID] of the Tool.""")
3464
3863
  @cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@@ -3572,6 +3971,7 @@ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_comp
3572
3971
  @cli_util.option('--tool-config-table-and-column-description', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3573
3972
  @cli_util.option('--tool-config-generation-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3574
3973
  @cli_util.option('--tool-config-database-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3974
+ @cli_util.option('--tool-config-runtime-version', help=u"""The runtimeVersion of the system prompt.""")
3575
3975
  @cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
3576
3976
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
3577
3977
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -3581,7 +3981,7 @@ Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_comp
3581
3981
  @click.pass_context
3582
3982
  @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-icl-examples': {'module': 'generative_ai_agent', 'class': 'InputLocation'}, 'tool-config-database-schema': {'module': 'generative_ai_agent', 'class': 'InputLocation'}, 'tool-config-table-and-column-description': {'module': 'generative_ai_agent', 'class': 'InputLocation'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-database-connection': {'module': 'generative_ai_agent', 'class': 'DatabaseConnection'}})
3583
3983
  @cli_util.wrap_exceptions
3584
- def update_tool_sql_tool_config(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, tool_id, tool_config_dialect, display_name, description, metadata, freeform_tags, defined_tags, if_match, tool_config_icl_examples, tool_config_database_schema, tool_config_should_enable_sql_execution, tool_config_model_size, tool_config_should_enable_self_correction, tool_config_table_and_column_description, tool_config_generation_llm_customization, tool_config_database_connection):
3984
+ def update_tool_sql_tool_config(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, tool_id, tool_config_dialect, display_name, description, metadata, freeform_tags, defined_tags, if_match, tool_config_icl_examples, tool_config_database_schema, tool_config_should_enable_sql_execution, tool_config_model_size, tool_config_should_enable_self_correction, tool_config_table_and_column_description, tool_config_generation_llm_customization, tool_config_database_connection, tool_config_runtime_version):
3585
3985
 
3586
3986
  if isinstance(tool_id, six.string_types) and len(tool_id.strip()) == 0:
3587
3987
  raise click.UsageError('Parameter --tool-id cannot be whitespace or empty string')
@@ -3638,6 +4038,9 @@ def update_tool_sql_tool_config(ctx, from_json, force, wait_for_state, max_wait_
3638
4038
  if tool_config_database_connection is not None:
3639
4039
  _details['toolConfig']['databaseConnection'] = cli_util.parse_json_parameter("tool_config_database_connection", tool_config_database_connection)
3640
4040
 
4041
+ if tool_config_runtime_version is not None:
4042
+ _details['toolConfig']['runtimeVersion'] = tool_config_runtime_version
4043
+
3641
4044
  _details['toolConfig']['toolConfigType'] = 'SQL_TOOL_CONFIG'
3642
4045
 
3643
4046
  client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)
@@ -3973,16 +4376,20 @@ Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMP
3973
4376
  Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3974
4377
  @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
3975
4378
  @cli_util.option('--tool-config-generation-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
4379
+ @cli_util.option('--tool-config-runtime-version', help=u"""The runtimeVersion of the system prompt.""")
4380
+ @cli_util.option('--tool-config-embedding-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
4381
+ @cli_util.option('--tool-config-reranking-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
4382
+ @cli_util.option('--tool-config-reasoning-llm-customization', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
3976
4383
  @cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
3977
4384
  @cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help="""This operation asynchronously creates, modifies or deletes a resource and uses a work request to track the progress of the operation. Specify this option to perform the action and then wait until the work request reaches a certain state. Multiple states can be specified, returning on the first state. For example, --wait-for-state SUCCEEDED --wait-for-state FAILED would return on whichever lifecycle state is reached first. If timeout is reached, a return code of 2 is returned. For any other error, a return code of 1 is returned.""")
3978
4385
  @cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the work request to reach the state defined by --wait-for-state. Defaults to 1200 seconds.""")
3979
4386
  @cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the work request has reached the state defined by --wait-for-state. Defaults to 30 seconds.""")
3980
- @json_skeleton_utils.get_cli_json_input_option({'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}})
4387
+ @json_skeleton_utils.get_cli_json_input_option({'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-embedding-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reranking-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reasoning-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}})
3981
4388
  @cli_util.help_option
3982
4389
  @click.pass_context
3983
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}})
4390
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'metadata': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'freeform-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'generative_ai_agent', 'class': 'dict(str, dict(str, object))'}, 'tool-config-knowledge-base-configs': {'module': 'generative_ai_agent', 'class': 'list[KnowledgeBaseConfig]'}, 'tool-config-generation-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-embedding-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reranking-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}, 'tool-config-reasoning-llm-customization': {'module': 'generative_ai_agent', 'class': 'LlmCustomization'}})
3984
4391
  @cli_util.wrap_exceptions
3985
- def update_tool_rag_tool_config(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, tool_id, tool_config_knowledge_base_configs, display_name, description, metadata, freeform_tags, defined_tags, if_match, tool_config_generation_llm_customization):
4392
+ def update_tool_rag_tool_config(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_interval_seconds, tool_id, tool_config_knowledge_base_configs, display_name, description, metadata, freeform_tags, defined_tags, if_match, tool_config_generation_llm_customization, tool_config_runtime_version, tool_config_embedding_llm_customization, tool_config_reranking_llm_customization, tool_config_reasoning_llm_customization):
3986
4393
 
3987
4394
  if isinstance(tool_id, six.string_types) and len(tool_id.strip()) == 0:
3988
4395
  raise click.UsageError('Parameter --tool-id cannot be whitespace or empty string')
@@ -4018,6 +4425,18 @@ def update_tool_rag_tool_config(ctx, from_json, force, wait_for_state, max_wait_
4018
4425
  if tool_config_generation_llm_customization is not None:
4019
4426
  _details['toolConfig']['generationLlmCustomization'] = cli_util.parse_json_parameter("tool_config_generation_llm_customization", tool_config_generation_llm_customization)
4020
4427
 
4428
+ if tool_config_runtime_version is not None:
4429
+ _details['toolConfig']['runtimeVersion'] = tool_config_runtime_version
4430
+
4431
+ if tool_config_embedding_llm_customization is not None:
4432
+ _details['toolConfig']['embeddingLlmCustomization'] = cli_util.parse_json_parameter("tool_config_embedding_llm_customization", tool_config_embedding_llm_customization)
4433
+
4434
+ if tool_config_reranking_llm_customization is not None:
4435
+ _details['toolConfig']['rerankingLlmCustomization'] = cli_util.parse_json_parameter("tool_config_reranking_llm_customization", tool_config_reranking_llm_customization)
4436
+
4437
+ if tool_config_reasoning_llm_customization is not None:
4438
+ _details['toolConfig']['reasoningLlmCustomization'] = cli_util.parse_json_parameter("tool_config_reasoning_llm_customization", tool_config_reasoning_llm_customization)
4439
+
4021
4440
  _details['toolConfig']['toolConfigType'] = 'RAG_TOOL_CONFIG'
4022
4441
 
4023
4442
  client = cli_util.build_client('generative_ai_agent', 'generative_ai_agent', ctx)